Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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 如何将值从静态函数发送到另一个对象?_Javascript_Jquery_Class_Plugins_Static - Fatal编程技术网

Javascript 如何将值从静态函数发送到另一个对象?

Javascript 如何将值从静态函数发送到另一个对象?,javascript,jquery,class,plugins,static,Javascript,Jquery,Class,Plugins,Static,(函数($,窗口,未定义){ "严格使用",; 类滑块{ 静态初始化(循环){ Slider.loop=循环; 返回滑块。循环; } }; $.fn.blueSlider=函数(循环,选项){ var默认值={ } var loop=Slider.init(循环); console.log(循环); $.extend(默认值、选项); }; }(jQuery) $('div').blueSlider(真) 如果要使用类语法,则不希望提供自定义的init函数;相反,请提供构造函数并使用new 记住

(函数($,窗口,未定义){
"严格使用",;
类滑块{
静态初始化(循环){
Slider.loop=循环;
返回滑块。循环;
}
};
$.fn.blueSlider=函数(循环,选项){
var默认值={
}
var loop=Slider.init(循环);
console.log(循环);
$.extend(默认值、选项);
};
}(jQuery)
$('div').blueSlider(真)

如果要使用
语法,则不希望提供自定义的
init
函数;相反,请提供构造函数并使用
new

记住jQuery是基于集合的,这也很重要,这意味着调用时,
this
是一个包含一组元素的jQuery对象。在大多数情况下,插件要做的适当的事情是,就好像它已经被单独地调用了这些元素中的每一个一样。例如:

(函数($,窗口,未定义){
"严格使用",;
//将默认值移出函数,添加
//更多的例子
常量默认值={
someOption:“foo”,
其他选项:“酒吧”,
颜色:“绿色”
};
//班级
类滑块{
构造函数(循环=true,选项){
//在构造函数中处理初始化
this.options=默认值;
这个.setOptions(循环,选项);
}
设置选项(循环,选项){
this.loop=循环;
this.options=Object.assign({},this.options,options);
//在ES2017+中,您可以使用:
//this.options={…默认值,…this.options};
}
//使用方法处理将滑块应用于图元的操作
申请($el){
//…在$el上做slider的事。。。
$el.css(“color”,this.options.color);
$el.text(“loop=“+this.loop”);
}
}
$.fn.blueSlider=函数(循环,选项){
//通过元素循环
这个。每个(函数(){
//为每个元素创建或重用实例
const$el=$(此项);
let slider=$el.data(“blueSlider”);
如果(滑块){
//元素已具有滑块
slider.setOptions(循环,选项);
}否则{
//为元素创建滑块,记住它
滑块=新滑块(循环,选项);
$el.数据(“蓝色滑块”,滑块);
}
滑块。应用($el);
});
};
}(jQuery)
$('div.a').blueSlider(真,{color:“blue”});
$('div.b').blueSlider(假);
设置超时(()=>{
$('div.a:first')。蓝色滑翔机(假);
}, 800);

感谢您提供了很好的示例。我在google和github上搜索了很长时间,试图找出它们是如何工作的。