我正在编写一个代码来将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
未定义。这段代码有什么问题?
提前致谢
答案 0 :(得分:0)
你可以试试这个:
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);
}
}
}
答案 1 :(得分:0)
基本上你声明的是:
$.fn.dw_inactive_check = function(settings){
你要申报的是:
$.fn.dw_inactive = function(settings){
如果你想这样使用它:
$.dw_inactive({backgroundColor:"#fff"});
这就是为什么它说它未定义,因为它不是同一个名字