18041 sujets
Questions générales et questions de débutants
Justement J'ai ceci dans le code :
la ligne avec "1000,'easeOutQuint' devrais me donner un effet ralenti mais rien ne se fait. Une erreur ?
Modifié par coco_Nuts62 (05 Oct 2011 - 16:44)
$(document).ready(function(){
$('a[href^=#]').click(function(){
cible=$(this).attr('href);
if($(cible).length>=1){
hauteur=$(cible).offset().top;
}
else{
hauteur=$("a[name="+cible.substr(1,cible.length-1)+"]").offset().top;
}
$('html,body').animate({scrollTop:hauteur},1000,'easeOutQuint');
return false;
});
});
la ligne avec "1000,'easeOutQuint' devrais me donner un effet ralenti mais rien ne se fait. Une erreur ?
Modifié par coco_Nuts62 (05 Oct 2011 - 16:44)
Si tu veux un système d'ancre animé, c'est à dire sans le "jump" direct à l'endroit désiré, utilises scrollTo.js.
Récupères le ici, je l'utilise actuellement, donc pompe le via mon serveur.
Et au niveau de ton head, insère un code de ce genre:
Par exemple:
Ce qui correspond à un click sur une ligne de tableau pour avoir un deroulement naturel mais automatique jusqu'à ma <div id="description">
En espérant que ce soit ce que tu recherches.
Récupères le ici, je l'utilise actuellement, donc pompe le via mon serveur.
Et au niveau de ton head, insère un code de ce genre:
$("#ton_selecteur").click(function(){
$.scrollTo( $('#ta_destination'), 800 );
});
Par exemple:
$("tr").click(function(){
$.scrollTo( $('#description'), 800 );
});
Ce qui correspond à un click sur une ligne de tableau pour avoir un deroulement naturel mais automatique jusqu'à ma <div id="description">
En espérant que ce soit ce que tu recherches.
Merci pour ton code mais idem pas d'effet ralenti, tu avais bien compris ce que je voulais.
dans le head :
mes liens :
une erreur ? ancre fonctionne bien correctement juste manque effet.
Modifié par coco_Nuts62 (06 Oct 2011 - 11:32)
dans le head :
<script src="java/jquery.js" type="text/javascript"></script>
<script src="java/effect.js" type="text/javascript"></script>
<script src="" type="text/javascript">
$("top").click(function(){
$.scrollTo( $('#top'), 800 );
});
</script>
mes liens :
<a href="#top">
<img id="hautdepage" src="img/hautdepage.png" title="" alt="remonter" />
</a>
<div id="top"></div>
une erreur ? ancre fonctionne bien correctement juste manque effet.
Modifié par coco_Nuts62 (06 Oct 2011 - 11:32)
Bon et bien c'est simple après des recherches fastidieuses lol.
Le problème : En bref ça ne marche pas sur une div, enfin coder comme cela.
Il faut obligatoirement si on désire l'effet 2 ancres en <a href"...."> et pas "id" mais un "name"
avec ce fichier en header qui vas convertir toutes les encres en effect.
<script src="java/smooth.pack.js" type="text/javascript"></script>
Adresse du fichier :
smooth.pack.js
Modifié par coco_Nuts62 (06 Oct 2011 - 14:30)
Le problème : En bref ça ne marche pas sur une div, enfin coder comme cela.
<div id="top">en haut</div>
..............le site web, contenu
<a href="#top">Retour</a>
Il faut obligatoirement si on désire l'effet 2 ancres en <a href"...."> et pas "id" mais un "name"
<a name="top">en haut</a>
..............le site web, contenu
<a href="#top">Retour</a>
avec ce fichier en header qui vas convertir toutes les encres en effect.
<script src="java/smooth.pack.js" type="text/javascript"></script>
Adresse du fichier :
smooth.pack.js
Modifié par coco_Nuts62 (06 Oct 2011 - 14:30)
Si tu souhaites faire un retour en haut de page avec scrollTo, il suffisait de mettre:
Donc pour ton cas personnel, ça donne:
Avec en lien:
Dans le code que tu as fournis après ma reponse, tu as mal fait appel à ton id avec ton selecteur, tu as mis "top" et non "#top". C'est un id, il te faut donc le prénom de #.
$('#selecteur').click(function() {
$('body,html').animate({scrollTop:0},800);
});
Donc pour ton cas personnel, ça donne:
$('#top').click(function() {
$('body,html').animate({scrollTop:0},800);
});
Avec en lien:
<div id="top">
<img id="hautdepage" src="img/hautdepage.png" title="" alt="remonter" />
</div>
Dans le code que tu as fournis après ma reponse, tu as mal fait appel à ton id avec ton selecteur, tu as mis "top" et non "#top". C'est un id, il te faut donc le prénom de #.
Hello!
Voici quelque chose que j'ai adapté à partir d'un script trouvé sur CCM.
C'est peut-être l'effet que tu recherches?
Cordialement.
Voici quelque chose que j'ai adapté à partir d'un script trouvé sur CCM.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>Scrolling doux vers les ancres</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
//<![CDATA[
$(function(){
$('a[href*=#]').click(function() {
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
var $target = $(this.hash);
$target = $target.length && $target || $('[name=' + this.hash.slice(1) +']');
if ($target.length) {
var targetOffset = $target.offset().top - 60; // - 60 = margin-top du .contenu (modifiable)
$('html,body').animate({scrollTop: targetOffset}, 1200); // 1200 = vitesse de scrolling (modifiable)
return false;
}
}
});
});
//]]>
</script>
<style type="text/css">
/*<![CDATA[*/
body {
background-color: #f4f4f4;
font: normal 14px arial,verdana,helvetica,sans-serif;
color: #000;
}
.menu {
position:fixed;
margin:0;
top:0;
left: 0;
font-size: 150%;
background-color:#000;
width:100%;
padding: 5px 0 5px 0;
text-align: center
}
.menu a:link {
color: #fff;
text-decoration: none;
margin-left: 10px;
margin-right: 10px
}
.menu a:hover {
color: aqua;
}
.contenu {
margin: 60px 0 0 100px
}
.div-debut, .div-milieu, .div-fin {
padding: 15px;
margin-top: 20px
}
.div-debut {
height: 650px;
background-color: #eaeaea
}
.div-milieu {
height: 700px;
background-color: #c4c4c4
}
.div-fin {
height: 500px;
background-color: #e0e0e0
}
.spacer {
height: 500px;
}
/*]]>*/
</style>
</head>
<body>
<div class="menu">
<a href="#debut">Début</a>
<a href="#milieu">Milieu</a>
<a href="#fin">Fin</a>
</div>
<div class="contenu">
<div class="div-debut"><a name="debut"><b>DEBUT</b></a></div>
<div class="div-milieu"><a name="milieu"><b>MILIEU</b></a></div>
<div class="div-fin"><a name="fin"><b>FIN</b></a></div>
<div class="spacer"> </div><!--[ pour amener le titre du "div-fin" près du menu ]-->
</div>
</body>
</html>
<!--[ Script inspiré de : http://www.commentcamarche.net/forum/affich-19190758-ancres-jquery ]-->
C'est peut-être l'effet que tu recherches?
Cordialement.