所以我有这个:
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);
}
});
});
Run Code Online (Sandbox Code Playgroud)
滚动时我正在尝试修复导航,这有效,但我也想在#nav div中添加一个带有徽标图像的标签,这也可以,但它会附加在每个滚动上,所以滚动时我会变得像100个图像的徽标.
如何才能使其仅追加一次并且当滚动次数超过136px时才被删除?
只需使用布尔值,
jQuery("document").ready(function($){
var nav = $('#nav');
var logo = '<img id="lilLogo" src="img/logo.png" />';
var visible = false;
$(window).scroll(function () {
if ($(this).scrollTop() > 136) {
nav.addClass("nav-f");
if(!visible) {
nav.append(logo);
visible = true;
}
} else {
nav.removeClass("nav-f");
if(visible) {
$('#lilLogo').remove();
visible = false;
}
}
});
});
Run Code Online (Sandbox Code Playgroud)
另一种方法是检查$('#lilLogoID').is(':visible'),然而这会搜索img并在每个事件上检查可见(这会很慢)