2017-02-20 6 views
0

Ich habe gerade versucht, eine Schaltfläche zu erstellen, die mit jQuery nach oben und unten gleitet, aber es funktioniert nur in 50% der Zeit. Wenn ich "Slide up" drücke funktioniert es, aber es funktioniert nicht mit "Slide down". Es gibt mir keine Fehler zu ...Mein Skript funktioniert nicht richtig und wirft keinen Fehler

Hier ist mein Code:

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

Ich glaube, ich bin mit Blick auf etwas oder ich sauge gerade bei Codierung aber jede Hilfe würde geschätzt!

Antwort

0

Werfen Sie einen Blick auf die Grund Javascript Entwicklung;)

If - Else

Wenn Ihre erste Bedingung erfüllt ist die else wird nicht ausgeführt. Wenn Sie Ihre Schaltfläche Alle Arbeiten zu tun haben wollen, nur:

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

..... gut Dank für einen Noob aus – Ismail

0

die "else" aus dem Code entfernen

+0

thnx für mich aushelfen – Ismail

1

Sie können einfach 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

dank helfen, aber ich brauche eine andere Taste, um es zu schieben, aber habe es funktioniert – Ismail

0

Entfernen Sie die if und else. Check this out:

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

Die Bedingungen dies verhindern nicht passiert. Entferne einfach die Bedingungen.

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

Sie haben viele syntax Fehler gemacht, sowie logical. Also, ich habe diese gelöst. Bitte ersetzen Sie Ihr Skript mit Mine ::

$(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> 

Hinweis: Versuchen Sie diesen Code enthalten Sie Jquery-Datei.

Verwandte Themen