首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery .slidedown

jquery .slidedown
EN

Stack Overflow用户
提问于 2011-09-05 17:20:51
回答 4查看 1.1K关注 0票数 1

我是jquery的新手,我正在尝试使用下拉菜单中的.slidedown函数。我希望菜单在单击时打开,并在再次单击选项或菜单时关闭。但是,当菜单按原样单击时,它只是弹出打开和关闭,而不是保持打开。代码如下:

代码语言:javascript
复制
*(function($) {



/*  $('#drop').click(function() {
        if (paneldown == false) {
            $('#ddd').slideUp(5000);
            paneldown = false;
        }
        if(paneldown != false) {
            $('#ddd').slideDown(5000);
            paneldown = true;
        }
                              });

    */                       
    var paneldown = false;

   $('#drop').click(function() {
        if(paneldown == false) { $('#ddd').slideDown(500); paneldown = true; }

        if(paneldown == true) { $('#ddd').slideUp(500);  paneldown = false;}
      //$('#ddd').toggle(5000), (function() {
//      });
    });
})(jQuery);
// JavaScript Document*
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-09-22 07:04:07

如果您仍然希望使用If语句,请执行以下操作:

代码语言:javascript
复制
var paneldown = false;
  $('#drop').click(function () {
          if (paneldown == false) {
              $('#ddd').slideDown(500);
              paneldown = true;
          } else {
              $('#ddd').slideUp(500);
              paneldown = false;
          }
  });

如果你尝试使用两个if,这将不会起作用,但我不建议在这种情况下使用if。使用:

代码语言:javascript
复制
$('#drop').click(function() {
    $('#ddd').slideToggle(500);
});
票数 1
EN

Stack Overflow用户

发布于 2011-09-05 17:24:24

请改用slideToggle

代码语言:javascript
复制
$('#drop').click(function() {
    $('#ddd').slideToggle(500);
});

它会为您处理状态,因此您无需担心。现有代码的问题是,首先运行slideDown,并将paneldown设置为true。然后,在您检查是否为paneldown == true (它就是这样;您只需这样设置它)之后,它立即运行slideUp

票数 2
EN

Stack Overflow用户

发布于 2011-09-05 17:24:20

如果你想使用下面的语句,你就不能处理if语句:

代码语言:javascript
复制
$('#drop').click(function() {
     $('#ddd').slideToggle(500); 
 });

顺便说一句,由于使用了两个if语句,您的菜单只是在向上滑动。在第一种情况下,"paneldown“是"false”。菜单向下滑动。现在您正在将"paneldown“设置为"true”。现在你有了第二个if语句,"paneldown“现在是"true”,所以它向上滑动。如果你想保留If语句,你应该使用if -else-struction.

代码语言:javascript
复制
$('#drop').click(function() {
        if (paneldown == false) {
            $('#ddd').slideUp(5000);
            paneldown = false;
        }
        else {
            $('#ddd').slideDown(5000);
            paneldown = true;
        }
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7306100

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档