begin process at 2012 05 29 13:39:31
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

menu select + scroll animé


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

menu select + scroll animé

dimanche 25 octobre 2009 à 21:12:07 | menu select + scroll animé

ethos20

Bonjour,

Pour la réalisation d'un nouveau site je souhaiterai utiliser une navigation par ancres avec menu de type form select couplée à un effet de scroll animé de type smoothscroll ou autre...Seulement j'ai déjà testé pas mal de librairies (jquery, mootools,etc...), et pas moyen de coupler ce satané menu avec un script (généralement s'occupe des liens "ahref" pas des balises options avec sélecteur "value"...).

Si quelqun a une idée pour le réaliser cela m'aiderait grandement !
merci d'avance !
lundi 26 octobre 2009 à 09:58:44 | Re : menu select + scroll animé

Bul3

Membre Club
Bonjour,
le faire sans utiliser de librairies ?
Cordialement [mon Site] [M'écrire] Bul
lundi 26 octobre 2009 à 10:40:03 | Re : menu select + scroll animé

ethos20

Re,

Le problème est aussi sans conteste que je ne suis pas non plus un vrai développeur spécialiste du javascript...Même si ça fait maintenant plusieurs jours que je suis penché sur ce pb...et que pour apprendre c'est pas mal non plus !

Avec ce code je parviens bien à récup le "value" et il me renvoie effectivement sur les ancres correspondantes...

Code HTML :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">

<!-- DEBUT ENTÊTE -->
<head>

<!-- META -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<!-- FIN META -->

<!-- DEBUT JAVASCRIPT -->
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js'></script>
	<script type='text/javascript' src='js/jquery.localscroll-min.js'></script>
		<script type='text/javascript' src='js/jquery.scrollTo-min.js'></script>
	<script type='text/javascript' src='js/init.js'></script>
<!-- FIN JAVASCRIPT -->

<!-- TITRE -->
<title>test</title>
<!-- FIN TITRE -->

<!-- CSS -->	
<link rel="stylesheet" type="text/css" media="all" href="style.css" />
<!-- FIN CSS -->

</head>
<!-- FIN ENTÊTE -->

<!-- DEBUT CORPS -->
<body>

<!-- CONTENU -->
<div id="menu">
	<select id="select" onchange="location.href=this.options[this.selectedIndex].value">
		<option value="#monId">menu</option>
		<optgroup label=",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"> </optgroup>
		<option value="#monId1">lien1</option>
		<option value="#monId2">lien2</option>
		<option value="#monId3">lien3</option>
		<optgroup label=",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"> </optgroup>
		<option value="#monId4">lien4</option>
		<option value="#monId5">lien5</option>
</select></div>

<div id="containerGlobal">

<div style="height: 0px; width: 1px;"><a id="lien1" class="scrollLink">&nbsp;</a></div>
<div id="container1">
blablabla bla bla.
</div>
<div style="clear-both"></div>

<div style="height: 0px; width: 1px;"><a id="lien2" class="scrollLink">&nbsp;</a></div>
<div id="container2">
blablabla bla bla.
</div>
<div style="clear-both"></div>

<div style="height: 0px; width: 1px;"><a id="lien3" class="scrollLink">&nbsp;</a></div>
<div id="container3">
blablabla bla bla.
</div>
<div style="clear-both"></div>

<div style="height: 0px; width: 1px;"><a id="lien4" class="scrollLink">&nbsp;</a></div>
<div id="container4">
blablabla bla bla.
</div>
<div style="clear-both"></div>
<div style="height: 0px; width: 1px;"><a id="lien5" class="scrollLink">&nbsp;</a></div>
<div id="container5">
blablabla bla bla.
</div>
<div style="clear-both"></div>
</div><!-- FIN CONTENU -->

</body>
<!-- FIN CORPS -->

</html>


Code :

/*  CSS
----------------------------------------------------------------------------------------------------*/
html{
overflow:hidden;
}
body {
background-color:#ffffff;
}
#containerGlobal{
position:absolute;
background:none;
width:745px;
height:100%;
padding-left:220px;
padding-top:60px;
color:white;
font-family:Arial;
font-size:9em;
font-weight:bold;
z-index:-1;
}
#container1, #container2, #container3, #container4, #container5{
margin-top:0.5em;
margin-bottom:3em;
position:relative;
}
.scrollLink {
	padding-top: 67px;
	}

#menu{
position:fixed;
margin-left:30px;
margin-top:20px;
}



Mais sans le smooth...arghhhh !
Bref...ça me dépasse...de toute manière.
lundi 26 octobre 2009 à 11:03:04 | Re : menu select + scroll animé

Bul3

Membre Club
arghhh !!!! jquery et autres ??? :
lundi 26 octobre 2009 à 11:16:11 | Re : menu select + scroll animé

ethos20

Effectivement, j'inclus aussi tout ça...

Code Javascript :
jQuery(function( $ ){
	/**
	 * Most jQuery.localScroll's settings, actually belong to jQuery.ScrollTo, check it's demo for an example of each option.
	 * @see http://flesler.demos.com/jquery/scrollTo/
	 * You can use EVERY single setting of jQuery.ScrollTo, in the settings hash you send to jQuery.LocalScroll.
	 */
	
	// The default axis is 'y', but in this demo, I want to scroll both
	// You can modify any default like this
	$.localScroll.defaults.axis = 'xy';
	
	// Scroll initially if there's a hash (#something) in the url 
	$.localScroll.hash({
		 // Could be a selector or a jQuery object too.
	
		duration:1500
	});
	
	/**
	 * NOTE: I use $.localScroll instead of $('#navigation').localScroll() so I
	 * also affect the >> and << links. I want every link in the page to scroll.
	 */
	$.localScroll({
		 // could be a selector or a jQuery object too.
		
		duration:1500,
		hash:true,
		onBefore:function( e, anchor, $target ){
			// The 'this' is the settings object, can be modified
		},
		onAfter:function( anchor, settings ){
			// The 'this' contains the scrolled element (#content)
		}
	});
});


1 = initialiser le script.

Code Javascript :
/**
 * jQuery.LocalScroll - Animated scrolling navigation, using anchors.
 * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * Dual licensed under MIT and GPL.
 * Date: 3/11/2009
 * @author Ariel Flesler
 * @version 1.2.7
 **/
;(function($){var l=location.href.replace(/#.*/,'');var g=$.localScroll=function(a){$('body').localScroll(a)};g.defaults={duration:1e3,axis:'y',event:'click',stop:true,target:window,reset:true};g.hash=function(a){if(location.hash){a=$.extend({},g.defaults,a);a.hash=false;if(a.reset){var e=a.duration;delete a.duration;$(a.target).scrollTo(0,a);a.duration=e}i(0,location,a)}};$.fn.localScroll=function(b){b=$.extend({},g.defaults,b);return b.lazy?this.bind(b.event,function(a){var e=$([a.target,a.target.parentNode]).filter(d)[0];if(e)i(a,e,b)}):this.find('a,area').filter(d).bind(b.event,function(a){i(a,this,b)}).end().end();function d(){return!!this.href&&!!this.hash&&this.href.replace(this.hash,'')==l&&(!b.filter||$(this).is(b.filter))}};function i(a,e,b){var d=e.hash.slice(1),f=document.getElementById(d)||document.getElementsByName(d)[0];if(!f)return;if(a)a.preventDefault();var h=$(b.target);if(b.lock&&h.is(':animated')||b.onBefore&&b.onBefore.call(b,a,f,h)===false)return;if(b.stop)h.stop(true);if(b.hash){var j=f.id==d?'id':'name',k=$('<a> </a>').attr(j,d).css({position:'absolute',top:$(window).scrollTop(),left:$(window).scrollLeft()});f[j]='';$('body').prepend(k);location=e.hash;k.remove();f[j]=d}h.scrollTo(f,b).trigger('notify.serialScroll',[f])}})(jQuery);


2 = localScroll d'Ariel Flesher

Code Javascript :
/**
 * jQuery.ScrollTo - Easy element scrolling using jQuery.
 * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * Dual licensed under MIT and GPL.
 * Date: 5/25/2009
 * @author Ariel Flesler
 * @version 1.4.2
 *
 * http://flesler.blogspot.com/2007/10/jqueryscrollto.html
 */
;(function(d){var k=d.scrollTo=function(a,i,e){d(window).scrollTo(a,i,e)};k.defaults={axis:'xy',duration:parseFloat(d.fn.jquery)>=1.3?0:1};k.window=function(a){return d(window)._scrollable()};d.fn._scrollable=function(){return this.map(function(){var a=this,i=!a.nodeName||d.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!i)return a;var e=(a.contentWindow||a).document||a.ownerDocument||a;return d.browser.safari||e.compatMode=='BackCompat'?e.body:e.documentElement})};d.fn.scrollTo=function(n,j,b){if(typeof j=='object'){b=j;j=0}if(typeof b=='function')b={onAfter:b};if(n=='max')n=9e9;b=d.extend({},k.defaults,b);j=j||b.speed||b.duration;b.queue=b.queue&&b.axis.length>1;if(b.queue)j/=2;b.offset=p(b.offset);b.over=p(b.over);return this._scrollable().each(function(){var q=this,r=d(q),f=n,s,g={},u=r.is('html,body');switch(typeof f){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)){f=p(f);break}f=d(f,this);case'object':if(f.is||f.style)s=(f=d(f)).offset()}d.each(b.axis.split(''),function(a,i){var e=i=='x'?'Left':'Top',h=e.toLowerCase(),c='scroll'+e,l=q[c],m=k.max(q,i);if(s){g[c]=s[h]+(u?0:l-r.offset()[h]);if(b.margin){g[c]-=parseInt(f.css('margin'+e))||0;g[c]-=parseInt(f.css('border'+e+'Width'))||0}g[c]+=b.offset[h]||0;if(b.over[h])g[c]+=f[i=='x'?'width':'height']()*b.over[h]}else{var o=f[h];g[c]=o.slice&&o.slice(-1)=='%'?parseFloat(o)/100*m:o}if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],m);if(!a&&b.queue){if(l!=g[c])t(b.onAfterFirst);delete g[c]}});t(b.onAfter);function t(a){r.animate(g,j,b.easing,a&&function(){a.call(this,n,b)})}}).end()};k.max=function(a,i){var e=i=='x'?'Width':'Height',h='scroll'+e;if(!d(a).is('html,body'))return a[h]-d(a)[e.toLowerCase()]();var c='client'+e,l=a.ownerDocument.documentElement,m=a.ownerDocument.body;return Math.max(l[h],m[h])-Math.min(l[c],m[c])};function p(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);


3 = scrollTo

4 = api google link pour jquery 1.3.2min.

Et c'est pas évident.
...
J'ai posé la question sur le blog du dévelopeur directement, mais je m'attends pas trop à avoir de réponse...
normal(?).

Le défi tient tjrs...
mercredi 28 octobre 2009 à 09:51:30 | Re : menu select + scroll animé

ethos20

Je viens de trouver !!! Ahhhh ça fait du bien !

Solution : ici.

Avec jquery (google api), bookmarks.js et je link directement vers l'ancre.

Code HTML :
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="js/bookmarkscroll.js">

/***********************************************
* Scrolling HTML bookmarks- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Project Page at http://www.dynamicdrive.com for full source code
***********************************************/

</script>


Code HTML :
<div id="menu">
	<select id="select" onchange="window.location.href=this.options[this.selectedIndex].value">
		<option value="lienSimple.html">menu</option>
		<optgroup label=",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"> </optgroup>
		<option value="javascript:bookmarkscroll.scrollTo('c1')" >lien1</option>
		<option value="javascript:bookmarkscroll.scrollTo('c2')" >lien2</option>
		<option value="javascript:bookmarkscroll.scrollTo('c3')" >lien3</option>
		<optgroup label=",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"> </optgroup>
		<option value="javascript:bookmarkscroll.scrollTo('c4')" >lien4</option>
		<option value="javascript:bookmarkscroll.scrollTo('c5')" >lien5</option>
</select>

</div>


Il suffit d'ajouter des lien normaux "a id" Et le tour est joué !!!

Ca a été dur mais j'y suis arrivé ! et bien heureux ! héhé.

Ouf !


Cette discussion est classée dans : menu, type, select, animé, scroll


Répondre à ce message

Sujets en rapport avec ce message

le type "select" devient un "text" [ par enis ] J'ai une liste déroulante contenant différents métier : ---------- ElectronicienInformaticien</optio Manipuler un Menu Select (combo.) [ par syndrael ] Bonjour,Je cherche un moyen pour effacer la premièer ligne d'un Menu Select (ou combo). Voici mon code mais j'ai une erreurfor (i=1;i{ ZeSelect.option Frames et scroll [ par thetruche ] Bonjour,Voici mon problème:J'ai un site ou il y a un haut de page, un gros menu à gauche avec des layers et un le contenu à sa droite.le soucis est qu pb avec le menu animé [ par JuntaMonari ] Bonsoir a tous voilà je n'arrive pas a changer les noms des titres du menu animé quelqu'un pourrai m'aider ? et j'utilise dreamweaver 2 et claris home retour chariot dans un menu select option [ par sbertrand ] bonjour, peut-on, et si oui comment faire passer a la ligne un texte de balise option dans un menu select ?j'ai un texte de 2 km qui agrandie mon menu Menu type mac [ par kk8ete ] Bonjour j'ai trouvé cette source : http://www.javascriptfr.com/code.aspx?ID=26334 et je voudrais faire exactement le meme type de menu mais en chang Positionner la scroll bar dans un select multiple [ par RoroLaDechire ] Bonjour,je souhaiterais que la première option sélectionnée dans un select multiple, lors d'un rechargement de la page, soit au milieu du select, et n select menu [ par fred0076464 ] salut, voila j'ai un menu deroulant qui se charge avec un champs 'res-nom' de ma table mysql 'reservation ' dont voici le code : Nom:onchange="submode recherche multi critere avec resultats issue d'une BBD SQL [ par cartman171283 ] bonjour a tous, g un trés gros probleme et j'espere que kelkun pourra m'aider. je doit developper une appli et avec un formulaire de recherche multi c Aide select qui passe apr dessus mon menu déroulant [ par Neuronix ] Bonjour à tous, j'ai fait un menu déroulant avec un "div" mais lorsque que celui ci passe par dessus un "select" le select le traverse et arrive au pr


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,295 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales