Javascript 基于条件使用slideUp()和slideDown()函数

Javascript 基于条件使用slideUp()和slideDown()函数,javascript,jquery,html,Javascript,Jquery,Html,每当我单击html页面上的某个特定元素时(在我的例子中是标记内的空白超链接),我都会使用代码切换html页面中的面板: 试着跟随 jQuery(document).ready(function() { $("#planning").click(function(e) { e.preventDefault(); var $this = jQuery(this); var $panel = jQuery("#planning_panel");

每当我单击html页面上的某个特定元素时(在我的例子中是标记内的空白超链接),我都会使用代码切换html页面中的面板:

试着跟随

jQuery(document).ready(function() {
    $("#planning").click(function(e) {
        e.preventDefault();
        var $this = jQuery(this);
        var $panel = jQuery("#planning_panel");
        if ($this.is(':hidden')) {
            $panel.slideDown('slow');
        } else {
            $panel.slideUp('slow');
        }
    }
});
试着跟随

jQuery(document).ready(function() {
    $("#planning").click(function(e) {
        e.preventDefault();
        var $this = jQuery(this);
        var $panel = jQuery("#planning_panel");
        if ($this.is(':hidden')) {
            $panel.slideDown('slow');
        } else {
            $panel.slideUp('slow');
        }
    }
});

将click事件绑定到文档,并使用基于单击的元素的逻辑

$(document).ready(function() {
    $(document).on('click',function(e) {
        e.preventDefault();
        var $panel = $("#planning_panel");
        if (e.target.id === 'planning') {
            $panel.slideDown('slow');
        } else {
            $panel.slideUp('slow');
        }
    }
});​

将click事件绑定到文档,并使用基于单击的元素的逻辑

$(document).ready(function() {
    $(document).on('click',function(e) {
        e.preventDefault();
        var $panel = $("#planning_panel");
        if (e.target.id === 'planning') {
            $panel.slideDown('slow');
        } else {
            $panel.slideUp('slow');
        }
    }
});​
可以使用JQuery的not()函数

$(document).ready(function(){
   $("#planning").click(function(e){
         $("#planning_panel").slideDown("slow");
   });

   $("#planning").not().click(function(e){
         $("#planning_panel").slideUp("slow");
   });
});
可以使用JQuery的not()函数

$(document).ready(function(){
   $("#planning").click(function(e){
         $("#planning_panel").slideDown("slow");
   });

   $("#planning").not().click(function(e){
         $("#planning_panel").slideUp("slow");
   });
});
e.preventDefault()必须是第一个
e.preventDefault()必须是函数体的第一个starts@Sushanth--这段代码仍然有问题。我将解释我在html页面中的确切内容。我定义了这样一个超链接:
这个想法是
1。当我点击
Planning`时,面板必须向下滑动,当我再次点击时,它会向上滑动。`
2.同时,如果我点击文档上的任何地方,那么面板应该向上滑动,如果它已经向下了。
第2点。
工作正常,但是
第1点
根本不工作。@Sushanth--问题解决了。我只是把这行代码改成了:
if(e.target.id=='planning'){$panel.slideDown('slow');}
改成了
if(e.target.id=='planning'){$panel.slideToggle('slow');}
@Sushanth——这段代码仍然有问题。我将解释我在html页面中的确切内容。我定义了这样一个超链接:
这个想法是
1。当我点击
Planning`时,面板必须向下滑动,当我再次点击时,它会向上滑动。`
2.同时,如果我点击文档上的任何地方,那么面板应该向上滑动,如果它已经向下了。
第2点。
工作正常,但是
第1点
根本不工作。@Sushanth--问题解决了。我只把这行代码改成了:
if(e.target.id=='planning'){$panel.slideDown('slow');}
if(e.target.id=='planning'){$panel.slideToggle('slow');}