簡體   English   中英

我的腳本無法正常運行,也不會引發錯誤

[英]My script doesn't work properly and doesn't throw an error

我只是想制作一個可在jQuery中上下滑動的按鈕,但它只能在50%的時間內起作用。 當我按“向上滑動”時,它可以工作,但對“向下滑動”不起作用。 它也不會給我任何錯誤...

這是我的代碼:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
        <script>
        var test = true
        var test2 = false
        if(test == true){
            $(document).ready(function(){
                $(".btn1").click(function(){
                    $("p").slideUp();
                });
            });
        }
        else if(test2 == false){
            $(document).ready(function(){
                $(".btn2").click(function(){
                    $("p").slideDown();
                });
            });
        }
        </script>
    </head>
    <body>
    <p>Hello Uranus</p>
        <button class="btn1">Slide up</button>
        <button class="btn2">Slide down</button>
    </body>
</html>

我認為我正在忽略某些東西,或者只是在編碼方面很爛,但是任何幫助將不勝感激!

您可以簡單地使用jQuery .slideToggle()

 $('.btn').on('click', function(){ $('p').slideToggle(); }); 
 <script src="//ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> <p>Hello Uranus</p> <button class="btn">Slide Up/Down</button> 

從您的代碼中刪除“其他”

看看基本的javascript開發;)

If - Else

如果您的第一個條件為true,則else條件將不會執行。 如果您想使所有按鈕正常工作,請執行以下操作:

 $(document).ready(function(){
            $(".btn1").click(function(){
                $("p").slideUp();
            });
            $(".btn2").click(function(){
                $("p").slideDown();
            });
        });
    }

刪除if和else。 看一下這個:

https://jsfiddle.net/wnwrnbw7/

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> <script> $(document).ready(function(){ $(".btn1").click(function(){ $("p").slideUp(); }); $(".btn2").click(function(){ $("p").slideDown(); }); }); </script> <body> <p>Hello Uranus</p> <button class="btn1">Slide up</button> <button class="btn2">Slide down</button> </body> 

條件阻止了這種情況的發生。 只需完全刪除條件即可。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
        <script>
            $(document).ready(function(){
                $(".btn1").click(function(){
                    $("p").slideUp();
                });
            });

            $(document).ready(function(){
                $(".btn2").click(function(){
                    $("p").slideDown();
                });
            });
        </script>
    </head>
    <body>
    <p>Hello Uranus</p>
        <button class="btn1">Slide up</button>
        <button class="btn2">Slide down</button>
    </body>
</html>

您犯了很多syntax錯誤以及logical錯誤。 所以,我解決了那些。 請用我的替換腳本:

$(document).ready(function () {
        $(".btn1").click(function () {
            $("p").slideUp();
        });
        $(".btn2").click(function () {
            $("p").slideDown();
        });
    });
        <!DOCTYPE html>
    <html>
     <head>
         <meta charset="UTF-8">

     </head>
     <body>
     <p>Hello Uranus</p>
         <button class="btn1">Slide up</button>
         <button class="btn2">Slide down</button>
     </body>
     <script src="../public/js/jq.js" charset="utf-8"></script>
     <script>
      function toggle(flag){
        if (flag ==1) {
          $('p').slideUp();
        }else {
          $('p').slideDown();
        }
      }
      $('.btn1').click(function(){
        toggle(1);
      });
      $('.btn2').click(function(){
        toggle(0);
      });
     </script>

</html>

注意:嘗試使用此代碼包含jquery文件。

暫無
暫無

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

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