簡體   English   中英

從一個函數獲取本地作用域,然后在另一個函數上調用setTimeout

[英]Get local scope from a function and call at another functions setTimeout on click

如果要通過類“ variation_swatch”觸發點擊,我想破壞函數imageGallery的變量滑塊。

閱讀關於本地和全球范圍內的一些內容,但似乎我不能把它做,因為我得到thatslider沒有定義。

如何正確設置?

function imageGallery() {
    var slider = $('#imageGallery').lightSlider({
        gallery:true,
        item:1,
        loop:false,
    });
    var that = this;
}

$(document).on('click','.variation_swatch',function(){
    setTimeout(function(){
        that.slider.destroy();
        console.log('gallery destroyed');
    }, 500);
    setTimeout(function(){
        if (!slider.lightSlider) {
            slider = $('#imageGallery').lightSlider({
                gallery:true,
                item:1,
                loop:false,
            });  
        };
        console.log('gallery rebuilt');
    }, 500);
})

$(document).ready(function () {
    imageGallery();
});

imageGallery添加點擊處理程序,您可以在其中訪問slider

function imageGallery() {
  var slider = $('#imageGallery').lightSlider({
        gallery:true,
        item:1,
        loop:false,
      });

  $(document).on('click','.variation_swatch',function(){
      setTimeout(function(){
          slider.destroy();
          console.log('gallery destroyed');
      }, 500);
      setTimeout(function(){
          if (!slider.lightSlider) {
              slider = $('#imageGallery').lightSlider({
                  gallery:true,
                  item:1,
                  loop:false,
              });  
          };
          console.log('gallery rebuilt');
      }, 500);
   });
}

$(document).ready(function () {
    imageGallery();
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM