嗨我有一个js文件我用来制作一个简单的淡入淡出幻灯片。它本身使用时工作正常,但我试图将其转换为函数,以便我可以实例化它。以前工作的功能现在给我这个错误:
输入错误:无效' in'操作数e在jquery 1.10.2v
中我猜这是关于jquery的事我没有概念。当运行firebug中的步骤时,错误弹出" $(顶部).delay"线。这是我的代码。
(function( $ ){
$.fn.pictureFade = function( options ){
var images = options.images;
i = 0;
var top = $("#topImage img");
var bottom = $("#botImage img");
//Set first images
$(top).attr("src", images[i]);
$(bottom).attr("src", images[i+1]);
// $(top).fadeToggle(4000, function(){ });
toggleDiv("top");
};
function toggleDiv(pos){
if(pos == "top"){
$(top).delay(2000).fadeToggle(4000, "linear", function(){
i++;
if(i == images.length-1)i = -1;
$(top).attr("src", images[i+1]);
toggleDiv("bottom");
}
);
}
if(pos == "bottom"){
$(top).delay(2000).fadeToggle(4000, "linear", function(){
$(bottom).attr("src", images[i+1]);
toggleDiv("top");
}
);
}
}
})( jQuery );
更新:我刚注意到,如果我把toggleDiv函数放在" $。fn.pictureFade"功能然后它工作正常。我一直以为单独的功能应该在它之外。我错了吗?
答案 0 :(得分:0)
var top = $("#topImage img");
top
已经是一个jQuery对象,你不应该再用$(top)
包裹它,
只需top.delay(...
,top.attr("src", images[i+1]);
等等。