2017-02-20 81 views
0

我只是试图制作一个按钮,可以上下滑动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> 

我想我忽视的东西或我只是吮吸编码,但任何帮助,将不胜感激!

回答

0

看看基本的JavaScript开发删除“其他”)

If - Else

如果else将不会执行你的第一个条件是真实的。 如果你想拥有你所有的按钮只是工作要做:

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

.....非常感谢您帮助noob出 – Ismail

1

你可以简单地使用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>

+0

谢谢,但我需要另一个按钮来滑动它,但得到它的工作 – Ismail

0

删除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>

0

的条件防止这种情况的发生。完全删除条件。

<!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> 
0

你已经做了很多的失误syntax,以及logical。所以,我已经解决了这些问题。请与我代替你的脚本::

$(document).ready(function() { 
     $(".btn1").click(function() { 
      $("p").slideUp(); 
     }); 
     $(".btn2").click(function() { 
      $("p").slideDown(); 
     }); 
    }); 
0
 <!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文件。

相关问题