我試圖在屏幕爲< 480px並且滾動大於80時將項目添加到我的導航欄中。該項目的多個副本正被插入到我的main-nav中。有人能幫助我理解爲什麼會發生這種情況嗎?你可以通過here看到發生了什麼。jquery.prepend克隆錯誤
$(function() {
var $window = $(window);
var $width = $(window).width();
function windowWidth() {
if ($width < 480) {
function top() {
var $top = $window.scrollTop();
if ($top < 80) {
$(".main-nav").css({
'position': '',
'width': '99.5%'
});
$(".thick-line-header").css("display", "");
} else {
var $homeTab = $('<li class="home"><a href="#top" >test</a></li>');
$(".main-nav li").css({
'position': 'fixed',
'width': '100%',
'top': '0',
'left': '0',
'margin-top': '0'
});
$("#main-nav").prepend($homeTab);
$(".thick-line-header").css("display", "none");
}
};
$(window).scroll(top);
}
};
windowWidth();
});
這是有道理的,因爲每當有人滾動時該函數觸發,該元素將繼續添加到它,除非我停下來編程。我試圖使用你介紹的if(!add)部分,但firefox不喜歡它。我一直在我的控制檯中收到這個錯誤(添加沒有定義) –
請務必在document.ready外面聲明它 – Sedz
好的,我不再讓控制檯在每次滾動時都會感到不適,但它似乎並未實際上預先考慮元素。 –