Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何知道slideToggle()是向上移动还是向下移动?_Jquery_Jquery Ui - Fatal编程技术网

Jquery 如何知道slideToggle()是向上移动还是向下移动?

Jquery 如何知道slideToggle()是向上移动还是向下移动?,jquery,jquery-ui,Jquery,Jquery Ui,此代码如何确定向上切换或向下切换?请帮忙。谢谢 <html> <head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $(".flip")

此代码如何确定向上切换或向下切换?请帮忙。谢谢

<html>
    <head>    
        <script type="text/javascript" src="jquery.js"></script>
        <script type="text/javascript"> 
            $(document).ready(function(){
                $(".flip").click(function(){
                    $(".panel").slideToggle();
                });
            });
        </script>

        <style type="text/css"> 
            div.panel,p.flip {
                margin:0px;
                padding:5px;
                text-align:center;
                background:#e5eecc;
                border:solid 1px #c3c3c3;
            }
            div.panel {
                height:120px;
                display:none;
            }
        </style>
    </head>

    <body>
        <div class="panel">
            <p>Crap.</p>
        </div>
        <p class="flip">Show/Hide Panel</p>
    </body>
</html>

$(文档).ready(函数(){
$(“.flip”)。单击(函数(){
$(“.panel”).slideToggle();
});
});
分区面板,p翻转{
边际:0px;
填充物:5px;
文本对齐:居中;
背景:#e5eecc;
边框:实心1px#c3c3;
}
分区小组{
高度:120px;
显示:无;
}
废话

显示/隐藏面板


它检查要切换的内容是否可见

如果元素当前设置为显示:无;或者以其他方式隐藏。例如,高度为0。然后它会向下滑动,否则它会向上滑动


现在,当CSS显示时,代码将向下滑动:无;在其中。

您可以检查元素是否可见。如果它可见,
slideToggle()
将向上移动。如果它不可见,它将向下移动

// Want to know if it's visible?
$(this).is(":visible");
你也可以在事后确定它的方向:


当然,这是假设您没有任何定位元素,而看起来您没有定位元素。

直接从jQuery站点获取(http://api.jquery.com/slideToggle/)

如果元素最初显示,它将被隐藏;如果隐藏,它将显示。显示特性将根据需要进行保存和还原。如果某个元素的显示值为inline,则隐藏并显示后,它将再次以inline显示。隐藏动画后高度达到0时,“显示样式”属性将设置为“无”,以确保元素不再影响页面布局


希望这能有所帮助。

您可以使用jquery css函数, 我在这里编写javaScript代码,代码中还有一些更改

$(document).ready(function(){
    $(".flip").click(function(){
       if($(".panel").css("display") == 'block') {
          alert('Visible');
       } else {
          alert('Not visible');
       }
    $(".panel").slideToggle();
  });
});​

请参阅“完成工作”

根据您的需要,您是否希望在操作之前或之后发出警报移动我在slideToggle函数调用之前或之后添加的if块。
$(document).ready(function(){
    $(".flip").click(function(){
       if($(".panel").css("display") == 'block') {
          alert('Visible');
       } else {
          alert('Not visible');
       }
    $(".panel").slideToggle();
  });
});​