0

私はsimplecart.jsを使用して自分のサイトでeコマースを処理しています。

次のスクリプトがあります。基本的に、これは私の郵便料金を計算します。それは£2の基本値から始まり、バスケット内の製品の数に基づいて値を追加します。よく働く。

問題は、基本価格が2ポンドであるため、バスケットに何も入っていなくても表示されることです。したがって、バスケットの数量が0の場合、またはバスケットが空の場合は、送料を含むdivを「非表示」にします。ロジックは次のとおりです。9個未満の製品、2+バスケット内の数量から開始します。9を超えるものはすべて£12の値を返します。

.hideを使おうとしましたが、関数内で関数を呼び出しているため、これが機能しないことに気付きました。また、機能していないようです。

これをどのように実装できるかについてのアイデアはありますか?

<script>
simpleCart({
shippingCustom: function(){
  if (simpleCart.quantity() == 0){
          $('.postage').hide();
        } else if (simpleCart.quantity() < 9 {
    return (2 + simpleCart.quantity());
  } else {
          return 12;
        }
}
</script>

スクリプトはこのページの下部にあります。バスケットを開いて、デフォルトの£2の値について私が何を意味するかを確認できます。

4

1 に答える 1

0

反対のロジックを試してください。カートをデフォルトで非表示に設定します(cssまたはjsスクリプトのいずれかで)。次に、カートが目的の値になったらカートを表示します。

if (simpleCart.quantity() > 0){
  $('.postage').show(); 
}

ただし、(設定方法に応じて).change()または.click()関数を使用する必要がある場合があります。これ$('.postage').show();により、ユーザーが[カートに追加]ボタンをクリックしたときにトリガーされます。

于 2012-11-17T20:55:40.693 に答える