1

数値を生成するスパンがあります。0 の場合は 2 つの div を非表示/表示したい場合、それ以外の場合は反対です。

まず、ページが読み込まれたときに適用する必要があり、次に特定のボタンがクリックされるたびに適用する必要があります。

HTML:

<button class="button">Add to cart</button>
<span class="catInStock">0</span>

 <div id="slave">SOLD OUT</div>
 <div id="slave-1">Some form</div>

コード:

var n = $("span.catInStock").text();

if (n == 0) {
     $("div#slave").hide();
     $("div#slave-1").show();
   } else {
     $("div#slave").show();
     $("div#slave-1").hide();
   }    

  $('.button').click(function () {
   if (n == 0) {
     $("div#slave").hide();
     $("div#slave-1").show();
   } else {
     $("div#slave").show();
     $("div#slave-1").hide();
   }
 });

2回実行するのが最良の選択肢だとは思いません.もっとスリムなものが理にかなっています.

4

2 に答える 2

3

toggle()非表示/表示するブール引数で使用できます

function displaySlaves( ){
     var n = $("span.catInStock").text();
     $("div#slave").toggle( n=='0');
     $("div#slave-1").hide( n !='0' );
}
/* page load*/
$(function(){  
   displaySlaves( );
   $('.button').click(displaySlaves)
})
于 2013-01-06T03:02:04.020 に答える
0
$('.button').bind('load click', function () {
   if (n == 0) {
     $("div#slave").hide();
     $("div#slave-1").show();
   } else {
     $("div#slave").show();
     $("div#slave-1").hide();
   }
});
于 2013-01-06T03:59:40.993 に答える