簡體   English   中英

點擊時可使用兩個jquery函數,但可以一起使用

[英]Two jquery functions work on click, but together

因此,當我單擊一次時,它同時完成了兩個Jquery代碼...我希望當我單擊它時,它會向下滑動並保持向下,直到再次單擊為止,該怎么做?

我嘗試了click1和click2,但這並不理想。 我還嘗試給他們提供其他ID,但這不合邏輯。

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script> 
$(document).ready(function(){
    $("#flip").click(function(){
        $("#panel").slideDown(1500);
    });
});
</script>

<script> 
$(document).ready(function(){
    $("#flip").click(function(){
        $("#panel").slideUp(1500);
    });
});
</script>


<style> 
#panel, #flip {
    padding: 5px;
    text-align: center;
    background-color: #e5eecc;
    border: solid 1px #c3c3c3;
}

#panel {
    padding: 50px;
    display: none;
}
</style>
</head>
<body>

<div id="flip">Click to slide down panel</div>
<div id="panel">Hello world!</div>

</body>
</html>

如您所見,當您附加多個處理程序時,它們都將同時執行。 而是附加一個處理程序,然后調用slideToggle()

還要注意,您可能想要在其中添加對stop()的調用,以便在快速單擊元素時動畫不會排隊。 嘗試這個:

 $(document).ready(function() { $("#flip").click(function() { $("#panel").stop(true).slideToggle(1500); }); }); 
 #panel, #flip { padding: 5px; text-align: center; background-color: #e5eecc; border: solid 1px #c3c3c3; } #panel { padding: 50px; display: none; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="flip">Click to slide down panel</div> <div id="panel">Hello world!</div> 

$(document).ready(function(){
    $("#flip").click(function(){
       if($('#panel').is(':visible')){
           $("#panel").slideUp(1500);
       }else{
           $("#panel").slideDown(1500);
       }
    });
});

問題是有兩個單擊事件綁定到div。 相反,您需要跟蹤狀態(即isUp或isDown),並通過單擊處理程序進行操作。 像這樣:

$(document).ready(function(){
    var isDown = false;
    $("#flip").click(function(){
        if( !isDown ){
            $("#panel").slideDown(1500);
            isDown = true;
        } else {
            $("#panel").slideUp(1500);
            isDown = false;
        }
    });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM