2017-05-10 4 views
0

Ich bin ziemlich neu zu js und jquery, und ich finde, dass jquery-Starter alle in das gleiche sonst Problem laufen. Wie viel suche ich auf anderen Seiten oder hier sind die Beispiele an dieser Stelle zu kompliziert;) Kann mir jemand mit dieser sehr einfachen Aussage helfen, würde viel bedeuten ...jquery wenn sonst für Anfänger

Das Problem: Ich möchte eine Schaltfläche ausblenden nach 4 Klicks. Ich verwende eine Variable, um die Klicks zu zählen, aber das Ergebnis ist, dass die Schaltfläche nach 1 Klick ausgeblendet ist, nicht 4. Jeder?

<script> 
 
\t \t 
 
    $(document).ready(function(){ 
 
\t \t \t 
 
    var x = 0; 
 
\t \t \t 
 
    $(".but_mirror_right").click(function(){ 
 
     $("#spiegel_links").animate({left:'+=200%'}, 6000); 
 
     
 
\t \t x += 1; 
 
\t \t alert(x); 
 
\t \t \t \t 
 
\t \t if (x = 4) { 
 
\t \t \t $("#but_right").hide(); 
 
\t \t } 
 
\t \t else { 
 
\t \t \t $("#but_right").show(); 
 
\t \t } 
 
\t }); 
 
}); 
 
\t \t 
 
</script>

+4

'=' ist * einen Wert * setzen. Verwenden Sie '==' um * einen * Wert zu überprüfen, zB 'if (x == 4)'. Du könntest auch '===' verwenden, wenn du die Werte ohne jegliche Art von Zwang überprüfen willst. –

Antwort

1

Versuchen sein

if (x = 4) { 

zu

if (x == 4) { 

oder

if (x === 4) { 

= ist ein Zuweisungsoperator und die Anweisung x = 4 immer true zurück, deshalb wird der Code nicht wie erwartet funktioniert. Sie sollten es ersetzen mit == oder ===

+0

Hallo Raghubendra, das ist es, du bist gerade mein persönlicher Held geworden! –

+0

Danke Bart, froh das zu hören :) – Wolfack

1

ändern diese Linie

if (x = 4) { 

dieser

if (x === 4) { 

Die erste one 4 bis x zuordnet, die immer wahr ergibt, so dass Zweig immer gefolgt. Die zweite testet Gleichheit.

0
if (x = 4) 

Sollte

if (x === 4) 
0

ändern if(x=4)-(x==4)

Ändern

$(document).ready(function() { 
 

 
    var x = 0; 
 
    $(".but_mirror_right").click(function() { 
 
    // $("#spiegel_links").animate({ 
 
    // left: '+=200%' 
 
// }, 6000); 
 
    x += 1; 
 
    console.log(x); 
 
    if (x == 4) { 
 
     $("#but_right").hide(); 
 
    } else { 
 
     $("#but_right").show(); 
 
    } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button class="but_mirror_right">button</button> 
 
<button id="but_right">toggle</button>

0

$(document).ready(function() { 
 

 
    var x = 0; 
 
    $(".but_mirror_right").click(function() { 
 
    x ++; 
 
    console.log(x); 
 
    if (x >= 4) { 
 
     $("#but_right").hide(); 
 
    } else { 
 
     $("#but_right").show(); 
 
    } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button class="but_mirror_right">button</button> 
 
<button id="but_right">toggle</button> 
 
<p>Button will disable after 4 click</p>

Sie 4 bis x sind assining. Überprüfen Sie für '=' '==' '===' Operator