jQuery ajouter qu'une seule fois
J'ai donc ceci:
jQuery("document").ready(function($){
var nav = $('#nav');
var logo = '<img src="img/logo.png" />';
$(window).scroll(function () {
if ($(this).scrollTop() > 136) {
nav.addClass("nav-f");
nav.append(logo);
} else {
nav.removeClass("nav-f");
nav.remove(logo);
}
});
});
Lors du défilement, je suis en train de faire de la navigation à être fixé, ce qui fonctionne, mais je veux aussi ajouter une étiquette avec le logo de l'image dans le #nav div, qui fonctionne aussi mais il ajoute sur chaque rouleau ainsi, lorsque le défilement-je obtenir 100 images du logo.
Comment puis-je faire pour ajouter une seule fois et quand il n'est pas défiler plus de 136px à supprimer?
- Au lieu de
var logo = '<img src="img/logo.png" />';
, utilisezvar logo = $('<img src="img/logo.png" />');
Vous devez vous connecter pour publier un commentaire.
il suffit d'utiliser un booléen,
violon
L'alternative est de vérifier avec
$('#lilLogoID').is(':visible')
, mais ce serait alors faire une recherche pour les img et vérifier visible sur chaque événement (ce qui serait lent)Ajouter une classe de dire
scroll
à#nav
. Puis à l'intérieur de$(window).scroll(function () {
vérifier si#nav
.hasClass()
la classescroll
, si il a le faire le reste ou bien ne pas..à la fin deif
de supprimer la classe par.removeClass()