2011-01-27 99 views
3

我已經在網站上實施了stickyfloat(http://plugins.jquery.com/files/stickyfloat_0.htm)。它適用於一個問題。該功能在$(window).scroll上觸發,而不是在$(window).load上觸發。我希望它可以觸發,因爲我鏈接到頁面中的錨點(http://tre-stage.wdogsystems.com:8000/faq/#does-the-sale-of-my-receivables-have-a對我的信用報告有負面影響),我希望在頁面加載時出現側邊菜單,而不僅僅是當我開始滾動時。

如果你看看上面的頁面,它的工作就像我想要的那樣。但是,這只是因爲我用$(window).load重複了相同的功能。這對我來說似乎非常低效。那麼,有沒有辦法將兩者聯繫在一起?

例如:

$(window).scroll || $(window).load (function() ... 
+0

難道你不是指`$(document).ready`嗎? – SLaks 2011-01-27 15:21:18

+0

請參閱John Resig的文章,瞭解爲什麼附加到滾動事件以及做什麼,而不是:http://ejohn.org/blog/learning-from-twitter/ – bdukes 2011-01-27 15:25:18

回答

2

jQuery的.bind()help方法允許在一旦結合多個事件。

$(window).bind('scroll load', function() { 
    // code here triggers for both, scroll & load events 
}); 
1

像這樣:

$(document).bind('ready load scroll', function() { ... }); 
0

爲什麼不在加載時觸發窗口滾動事件?你可以命名空間的滾動事件也將其隔離並對其有更好的後進入...

$(window) 
    .on('scroll.myscroll', function() { 
     // do something on scroll event 
    }) 
    .trigger('scroll.myscroll'); // trigger scroll event on pageload 

但如果你實際上是想在窗口中加載運行它(確保DOM滿載含圖片等)然後提到的其他例子都很好。但是使用.on()方法,而不是.bind()。

$(window).on('scroll.myscroll load.myload', function() { 
    // do something on scroll and load events 
}); 
相關問題