【问题标题】:JQUERY slidetoggle isn't workingJQUERY 滑动切换不起作用
【发布时间】:2013-11-07 20:31:04
【问题描述】:

我不明白为什么 jquery 脚本不起作用。 这是示例:

  $(document).ready(function(){
      $('#mygtukas-js').click(function(){
        $(this).data('clicked', true);
      });

      if($('#mygtukas-js').data('clicked')){
        $(this).next('#turinys').slideToggle(500);
      }
      else {
        $('#turinys').hide();
      }
  });

JSFIDDLE:http://jsfiddle.net/5NmK9/

【问题讨论】:

  • “不工作”是什么意思?
  • 我的 div 没有滑动。 :(
  • 能否将完整代码发布到 jsfiddle.net 并重现该错误?

标签: jquery if-statement toggle slide


【解决方案1】:

这就够了:

$(document).ready(function(){
    $('#mygtukas-js').on("click", function() {
        // The line below can be removed if you're not using the data
        // value anywhere else.
        $(this).data('clicked', true);

        $(this).next('#turinys').slideToggle(500);
    });
});

.slideToggle() 将显示/隐藏。

演示:http://jsfiddle.net/5NmK9/1/

【讨论】:

  • 我要补充一点,放弃“点击”值可能是有意义的,除非它在其他地方使用。一个简单的 slideToggle 将跟踪状态。
  • @MikeManfrin 完全正确。
【解决方案2】:

您的 slideToggle 块在 document.ready 上被调用一次。当您单击#mygtukas-js 时,它会将“clicked”更改为 true,但不会调用 if/else 块。

您应该将 if/else 块放在单击后调用的代码中,或者将其放在自己的事件侦听器中。

【讨论】:

    猜你喜欢
    • 2011-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多