输入错误:jquery 1.10.2中的操作数e中的'in'无效?

时间:2014-03-21 00:47:38

标签: jquery

嗨我有一个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"功能然后它工作正常。我一直以为单独的功能应该在它之外。我错了吗?

1 个答案:

答案 0 :(得分:0)

var top = $("#topImage img");

top已经是一个jQuery对象,你不应该再用$(top)包裹它,

只需top.delay(...top.attr("src", images[i+1]);等等。