Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery插件shwing$.pluginName未定义_Javascript_Jquery Plugins - Fatal编程技术网

Javascript jquery插件shwing$.pluginName未定义

Javascript jquery插件shwing$.pluginName未定义,javascript,jquery-plugins,Javascript,Jquery Plugins,我正在编写一个代码来添加一个HTML元素作为jQuery插件。请检查下面的我的代码: $.dw_inactive = function( options ){ var settings = $.extend({ backgroundColor: "#000", interval: 1000, startTime: 1000, }, options );

我正在编写一个代码来添加一个HTML元素作为jQuery插件。请检查下面的我的代码:

$.dw_inactive = function( options ){    
    var settings = $.extend({
                backgroundColor: "#000",
                interval: 1000,
                startTime: 1000,
            }, options );

        var dw_inactive_counter = 0;
        setTimeout("dw_inactive_check", settings.startTime);

        $.fn.dw_inactive_check = function(settings){
            if(!$("body").has("div."+settings.className))
            {
                $("body").add("div").attr("class",settings.className).css({"background-color":settings.backgroundColor});
            }
            setInterval("dw_inactive_check", settings.interval);    
        }
    }
    $.dw_inactive({backgroundColor:"#fff"});
它不工作,显示
$。未定义dw_inactive
。那代码有什么问题? 提前感谢

您可以尝试以下方法:

function($){
    $.dw_inactive = function( options ){    
        var settings = $.extend({
                backgroundColor: "#000",
                interval: 1000,
                startTime: 1000,
            }, options );

        var dw_inactive_counter = 0;
        setTimeout("dw_inactive_check", settings.startTime);

        $.fn.dw_inactive_check = function(settings){
            if(!$("body").has("div."+settings.className))
            {
                $("body").add("div").attr("class",settings.className).css({"background-color":settings.backgroundColor});
            }
            setInterval("dw_inactive_check", settings.interval);    
        }
    }
}

基本上你所申报的是:

$.fn.dw_inactive_check = function(settings){
$.fn.dw_inactive = function(settings){
你应该申报的是:

$.fn.dw_inactive_check = function(settings){
$.fn.dw_inactive = function(settings){
如果您想这样使用它:

$.dw_inactive({backgroundColor:"#fff"});

这就是为什么它说它是未定义的,因为它不是同一个名称

我想把它写成一个jQuery插件。解决方案是什么?我需要编写这个函数,并在几次间隔后调用dw_inactive_check函数。最好的方法是什么?