繁体   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