【问题标题】:jquery plugin problemjquery插件问题
【发布时间】:2011-06-03 19:32:51
【问题描述】:

我创建了 jquery 插件 我得到的错误是参考错误:mySlider is not defined

(function($){

$.fn.mySlider = function(){
    var timeOut = 4000;
    var element = this; 
    var fxDuration = timeOut/6;

    var items = $("#" + element[0].id + " li");
    var captions = $("#" + element[0].id + " li div");

    var fadeIn = function(no){
        $(items[no]).fadeIn(fxDuration, function(){
            $(captions[no]).fadeIn(fxDuration, function(){
                setTimeout(function(){fadeOut(no)}, timeOut);
            });
        });

    }

    var fadeOut = function(no){
        $(captions[no]).fadeOut(fxDuration, function(){
            $(items[no]).fadeOut(fxDuration, function(){
                fadeIn(calcNext(no));
            });
        });

    }

    var calcNext = function(no){
        return ((no+1) == items.length)? 0: (no+1);
    }

    fadeIn(0);

}

})(jQuery);

并调用

   <script src="jquery-1.6.1.min.js" type="text/javascript" charset="utf-8"></script>
   <script src="mySlider.js" type="text/javascript" charset="utf-8"></script>
   <script>
  // alert('hi');
        $(document).ready(function(){
            alert(mySlider());
            //$("#slider").mySlider();
        });
   </script>

它说 mySlider 没有定义

请帮我解决这个问题。谢谢

【问题讨论】:

    标签: jquery-plugins


    【解决方案1】:

    它没有定义,因为你没有定义它。

    你只定义了$.fn.mySlider

    你可能想要这样的东西,有一个单独的功能:

    var mySlider = function() {
        $("#slider").mySlider();
    };
    

    【讨论】:

    • 我确实尝试过,看到我注释掉的行,它没有工作,所以我试图提醒,但仍然是同样的问题
    • 首先:您无法提醒未定义的函数。 mySlider() 未定义 $.fn.mySlider() 是。第二:看看这里是你的代码,它做了一些事情,不确定你的目标是什么,但它确实有效:jsfiddle.net/inti/hwyJ3
    猜你喜欢
    • 1970-01-01
    • 2010-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多