我定义了一个由某个元素调用的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