-1
因此,我正在處理一些代碼,我需要檢查我生成的數組中的某個元素是否符合特定條件,如果有,則使用fadeIn ,否則淡出#next和#previous元素。以下是我現在有:如果任何對象滿足數組中的方程條件
HTML:
<div id="#next"></div>
<div id="#prev"></div>
<div id="page1" class="section"></div>
<div id="page2" class="section"></div>
<div id="page3" class="section"></div>
的Javascript
$(window).on('scroll', function() {
var i, stuff = [],
scrollTop = $(window).scrollTop(),
sects = $('.section')
sects.each(function() {
stuff.push(parseInt($(this).offset()['top'],10));
});
for(i = 0; i < stuff.length; i++) {
if (stuff[i] == scrollTop) { $('#next,#prev').fadeIn("fast")}
if (stuff[i] != scrollTop) { $('#next,#prev').fadeOut("fast")}
}
});
上面的代碼會導致一個閃爍的效果,因爲,無論什麼時候,「東西」總會有一個值不等於scrollTop的。因此,我爲什麼要說「如果有返回的對象都具有偏移(‘東西’)等於scrollTop的,然後淡入,否則,淡出。
任何幫助將不勝感激!
你不應該直接在scroll事件下運行代碼[使用定時器並緩存你的選擇器](http://ejohn.org/blog/learning-from -twitter /)。 –
沒錯,事件像一百次一樣發生,這對你的處理程序來說是不必要的頻率 –
這真是一個偉大的觀點,謝謝fo我指着這個。如何調整窗口大小,緩存更新? –