我定義了一個由某個元素調用的JQuery函數,並添加了一個事件偵聽器來滾動。爲多個實例定義我自己的JQuery函數
如果只有一個元素調用該函數,它會很好用,但如果它們中的多個元素有效,那麼它只能用於最後一個調用它的元素。讓我來解釋它更好的添加一些代碼:
我的功能:
jQuery.fn.extend({
objectParallax: function (speed) {
var elem = $(this);
var defaultTop = parseInt(elem.css('top'));
window.onscroll=function(){
var scrolled = $(window).scrollTop();
elem.css('top',(defaultTop-(scrolled*speed))+'px');
}
}
});
這是很簡單的,基本上它以不同的速度讓一些元素滾動。
我調用該函數是這樣的:
$(function(){
$('#floating-parallax-1').objectParallax('.5');
//$('#floating-parallax-2').objectParallax('.5');
//$('#floating-parallax-3').objectParallax('-.5');
//$('#floating-parallax-4').objectParallax('-.5');
});
因此,在這種情況下,(^),它爲我#floating-parallax-1
對象的偉大工程。但是如果我取消註釋其他的功能,我的功能只適用於最後一個功能。參見:
$(function(){
$('#floating-parallax-1').objectParallax('.5');
$('#floating-parallax-2').objectParallax('.5');
$('#floating-parallax-3').objectParallax('-.5');
$('#floating-parallax-4').objectParallax('-.5');
});
此處(^)該功能僅適用於#floating-parallax-4
項目。
我該如何讓這個函數能夠同時擁有多個實例?
對不起,我的英語不好,如果有什麼不夠清楚,請問我。謝謝你的幫助!
你可以共享一個小提琴? – Rayon