jQuery - Comment faire défiler une ancre en haut de la page quand on clique dessus?
J'ai une liste de liens dans div
éléments et je suis en utilisant dropcontent.js pour charger le contenu dans un autre div
lorsque le lien est cliqué. Je voudrais maintenant ajouter un bout de code qui permet de faire défiler le lien cliqué en haut de la fenêtre du navigateur.
HTML est comme ça, pour chaque élément dans la liste:
<div class="work">
<h3><a class="scroll" href="project2.html">Project 2</a></h3>
<div class="projectIntro">
<p>This is some intro text for project 2</p>
</div>
<div class="pictures"></div>
</div>
J'ai trouvé des tutoriels pour défiler à un numéro d'identification lorsque le lien est cliqué (en faisant le href de l'ID de la div que vous voulez faire défiler à - malheureusement, je ne peux pas faire ce que ma href est en fait une page html distincte (même si c'est à l'aide de dropcontent pour le charger dans la page en cours.
J'ai aussi trouvé un tutoriel pour le défilement à un ID particulier au chargement de la page, mais rien que le fait de simplement dire que lorsqu'un point d'ancrage d'une classe donnée est cliqué, faites défiler jusqu'en haut de la fenêtre du navigateur.
Quelqu'un peut m'aider avec celui-ci, s'il vous plaît? merci.
Mise à JOUR:
J'ai le défilement de travail en utilisant le code suivant:
$('.work a').click(function() {
$('html,body').animate({scrollTop: $(this).offset().top}, 500);
});
Cependant, mon dropcontent.js ne fonctionne plus... je pense que parce que j'ai 2 fonctions présentes sur le même clic... je voudrais que le contenu de charger d'abord, puis faites défiler jusqu'.
voici mon dropcontent.js
$('.work a').click(function(event) {
event.preventDefault();
var parent = $(this).parents(".work");
var content_holder = parent.children(".pictures");
if (parent.hasClass("selected_work")) {
close_other();
return;
}
close_other();
parent.addClass("selected_work");
content_holder.load(this + " #content .work");
$('.selected_work img').attr("src", "images/arrow_close.gif");
});
function close_other() {
var selected_work = $('.selected_work');
selected_work.children('.pictures').empty();
$('.selected_work img').attr("src", "images/arrow_open.gif");
selected_work.removeClass("selected_work")
}
});
Alors maintenant, j'ai juste besoin d'intégrer ces 2 bits de code pour les amener à travailler ensemble... pour l'instant non, je n'ai pas eu de chance ce faire - si j'ajoute le défilement (animer) de la fonction, la fonction de charge des arrêts de travail...
Mise à JOUR 2
S'avère que c'était quelque chose qui était à l'origine du problème - je avoir de travail!
si vous avez trouvé votre propre réponse. Merci de poster une réponse vous-même en-dessous et les accepter. Cela permet de fermer la question et de le rendre disponible pour d'autres dans le futur.
Assurez-vous - je l'ai fait essayer à plus tôt, mais le système ne me laisse pas répondre à ma propre question si vite... j'ai posté la réponse maintenant, mais le système me dit que je dois attendre 2 jours pour l'accepter...
OriginalL'auteur Spirit | 2011-12-02
Vous devez vous connecter pour publier un commentaire.
Ici est de savoir comment vous faites défiler le lien vers le haut:
OriginalL'auteur Spirit
Répondu à cette question en lien ci-dessous est étroitement liée et de la bonne info pour tous les gens qui aiment être en mesure de
faire défiler la page pour un élément div id
ont qu'élément de défilement vers le haut de la page en cliquant sur un
d'ancrage de l'élément
ont qu'élément de défilement vers le haut de la page en cliquant sur le
réelle div id contenant tous les liens d'ancrage; "cliquez sur catcher div"
Défilement de l'élément en haut de la page en cliquant sur l'ancre à l'intérieur de l'élément ou de n'importe où à l'intérieur contenant div id
OriginalL'auteur moderntimes
Pas une réponse directe à votre question, mais une bonne référence que vous souhaitez utiliser.
http://demos.flesler.com/jquery/scrollTo/
Le jQuery scrollTo plugin vous permet de faire défiler à toute l'ancre
<a>
dans votre page. Si vous placez un point d'ancrage sur le dessus de votre fenêtre, vous pouvez utiliser scrollTo y aller directement avec une animation.OriginalL'auteur Marnix