Javascript 使匿名自动执行的函数可重用

Javascript 使匿名自动执行的函数可重用,javascript,jquery,Javascript,Jquery,我有以下功能: (function(e, t) { var n = function() { //code, code, code }; //code, code, code e.fn.unslider = function(t) { //code, code, code }; })(jQuery, false) 要调用此函数,我正在使用: var unslider = $('.slider__1').unslider(); $('.slider__1

我有以下功能:

(function(e, t) {
  var n = function() {
      //code, code, code
};
      //code, code, code
e.fn.unslider = function(t) {
      //code, code, code
};
})(jQuery, false)
要调用此函数,我正在使用:

var unslider = $('.slider__1').unslider();

$('.slider__1 .arrows').click(function() {
  var fn = this.className.split(' ')[1];
  unslider.data('unslider')[fn]();
});
我需要让这个功能重新启动窗口大小调整。我知道,这种函数不能被调用,只能执行一次。 要重用此函数,我应该在同一范围内声明它,并从事件处理程序调用它,如下所示:

$(function() {
    function myFunction(evt) {
        console.log(evt);
    }

    $(window).on('load resize', myFunction);
});
但它不起作用

我甚至尝试使用以下结构:

(function() {
  var fn = function(jQuery, yourbool) {
    // code, code, code
  };

  fn(jQuery, false);

  $(window).on('load resize', function () {
    fn(jQuery, false);
  });

});
也不行

我做错了什么?你能告诉我如何重新制作这个函数来重新启动窗口大小调整吗

(函数(e,t){
var n=函数(){
函数r(t,r){
如果(t==“点”){
r='';
e、 每个(n.li,功能(e){
r++'
  • “+++e+”
  • ” }); r+=“” }否则{ r=''+r+t+'prev'>'+n.o.prev+''+r+t+'next'>'+n.o.next+'' } n、 el.addClass(“has-”+t+“s”)。追加(r)。查找(“.”+t)。单击(函数(){ var t=e(本); t、 hasClass(“点”)?n.stop()to(t.index()):t.hasClass(“上一个”)?n.prev():n.next() }) } var n=这个; n、 o={ 速度:500,, 延迟:3e3, 初始化:0, 停顿一下:!t, 循环:!t, 关键词:t, 圆点:t, 箭头:t, 上一页:“&larr;”, 下一步:“&rarr;”, 液体:t, 起点:t, 完成:t, 项目:“>ul”, 项目:“>李”, 放松:“挥杆”, 自动播放:对 }; n、 init=函数(t,i){ n、 o=e.extend(n.o,i); n、 el=t; n、 ul=t.find(无项目); n、 最大值=[t.外径()| 0,t.外径()| 0]; n、 li=n.ul.查找(n.o.项)。每个(功能(t){ var r=e(本), i=r.外径(), s=r.outerHeight(); 如果(i>n.max[0])n.max[0]=i; 如果(s>n.max[1])n.max[1]=s }); var i=不适用, s=n.ul, o=n.li, u=o.长度; n、 i=0; t、 css({ 宽度:n.max[0], 高度:o.first().outerHeight(), 溢出:“隐藏” }); s、 css({ 职位:“相对”, 左:0,, 宽度:u*100+“%” }); o、 css({ “浮动”:“左”, 宽度:n.max[0]+“px” }); i、 自动播放和设置超时(函数(){ 如果(i.延迟| 0){ n、 play(); 如果(i.暂停){ t、 打开(“鼠标悬停”,功能(e){ n、 停止(); e、 类型==“鼠标输出”&&n.播放() }) } } },i.init | 0); 如果(i.keys){ e(文件)。按键(功能(e){ var t=e; 如果(t==37)n.prev(); 如果(t==39)n.next(); 如果(t==27)n.停止() }) } i、 点和r(“点”); i、 箭头和r(“箭头”); 如果(i.流体){ e(窗口)。调整大小(函数(){ n、 r&清除超时(n.r); n、 r=设置超时(函数(){ 变量e={ 高度:o.eq(n.i.)外倾角() }, r=t.外径(); s、 css(e); e[“宽度”]=Math.min(Math.round(r/t.parent().width()*100),100)+“%”; t、 css(e) }, 50) }).resize() } 如果(如事件特殊[“滑动”]|如事件(“滑动”)){ t、 打开(“swipeleft swiperight swipeleft swiperight”,函数(e){ e、 type.toLowerCase()=“swipeleft”?n.next():n.prev() }) } 返回n }; n、 to=函数(r,i){ 如果(不适用){ n、 停止(); n、 play() } var s=不适用, o=n.el, u=n.ul, a=n.li, l=n.i, c=a.eq(r); e、 isFunction(s.starting)&&!i&&s.starting(o,a.eq(l)); if(!c.length | r<0)和&s.loop==t)返回; 如果(!c.length)r=0; 如果(r<0)r=a.length-1; c=a.eq(r); var h=i?5:s.速度| 0, p=s, d={ 高度:c.室外高度() }; 如果(!u.queue(“fx”).长度){ o、 查找(“.dot”).eq(r).addClass(“活动”).sides().removeClass(“活动”); o、 动画(d、h、p)和u.animate(e.extend)({ 左:“-”+r+“00%” }h,p,函数(t){ n、 i=r; e、 isFunction(s.complete)&&!i&&s.complete(o,c) }) } }; n、 play=函数(){ n、 t=设置间隔(函数(){ n、 至(n.i+1) },不另作说明,延迟(0) }; n、 停止=函数(){ n、 t=净间隔(n.t); 返回n }; n、 下一步=函数(){ 将n.stop()返回到(n.i+1) }; n、 prev=函数(){ 将n.stop()返回到(n.i-1) }; }; e、 fn.unslider=函数(t){ var r=该长度; 返回此。每个函数(i){ var s=e(本), u=“unslider”+(r>1?”-“+++i:”), a=(新n).init(s,t); s、 数据(u,a)。数据(“键”,u) }) }; n、 version=“1.0.0” })(jQuery,false) var unslider_自动播放={ 自动播放:错误 }; var unslider=$('.slider_uu1').unslider(unslider_autoplay); $('.slider__1.arrows')。单击(函数(){ var fn=this.className.split(“”)[1]; 不滑动数据('unslider')[fn](); });
    。步骤箭头{
    位置:绝对位置;
    宽度:300px;
    填充:19px 0px;
    边缘顶部:128px;
    z指数:1;
    }
    .箭头{
    宽度:71px;
    高度:67px;
    浮动:左;
    背景图片:url(http://rockerbox.com/assets/img/general/left-arrow.png);
    背景重复:无重复;
    背景位置:50%50%;
    }
    .下一个{
    宽度:72px;
    高度:67px;
    浮动:对;
    背景图片:url(http://rockerbox.com/assets/img/general/right-arrow.png);
    背景重复:无重复;
    背景位置:50%50%;
    }
    .slider___1:悬停箭头{
    背景色:rgba(255、255、255、.1);
    -webkit边界半径:0px 4px 0px;
    -moz边界半径:0px 4px 4px 0px;
    边界半径:0px 4px 0px;
    }
    A.
    
    $( window ).resize(myFunction);
    
    $(function() {
        function myFunction(evt) {
            console.log(evt);
        }
    
        $( window ).resize(myFunction);
    });