1

我有一个简单的 jquery 设置来打开一个滑动面板,然后启动第二个函数以在该面板中启动幻灯片放映。当我关闭面板并再次打开它时,它也会再次调用该函数,从而给我重复的滑块。

      $(function() {   
  $('a.everyday').click(function() {
    $('#everyday').addClass('open').stop().animate({top:'30px'},{queue:false,duration:400});

  // Activates Blinds jquery image slider 
  $(function() { 

    $('.slideshow').blinds();

   });
  });
});

所以第二次发生 .click 函数时,我希望 jquery 不启动 .blinds 函数。

4

3 回答 3

0
$(function() {   
  var show = new MyShow();
    show.initialize();
});


var MyShow = function(){
    this.started = false;
    var that = this;
    this.initialize = function (){
    $('a.everyday').click(function() {
            $('#everyday').addClass('open').stop().animate({top:'30px'},{queue:false,duration:400});
        if(!that.started){
            that.started = true;
            // Activates Blinds jquery image slider
            $(function() {

            $('.slideshow').blinds();

       });
        }else{return;}
  });
}
}
于 2012-11-06T19:41:33.060 回答
0

Oops. Misread needs, here's a better version.

$(function(){  
    var opened = 0; 
    $('a.everyday').on('click', function() {
        $('#everyday').addClass('open').stop().animate({top:'30px'},{queue:false,duration:400});
        if(opened < 1){
            $('.slideshow').blinds();
            opened++;
        }

     });
});
于 2012-11-06T19:33:24.937 回答
0

加载百叶窗应该在您的 document.ready 中,而不是在每个 onclick 处理程序中

$(document).ready(function(){
    $('.slideshow').blinds();
});
于 2012-11-06T19:37:44.653 回答