1

クライアント側でのみ実行したいのですが、 http://aria.co.ukの右上隅に表示されているように、VAT スイッチャーを実装したいと考えています。

以下は私が思いついたものですが、必要があります:

  • VAT を前後に切り替えます (私の例は一方通行です)。
  • 永続性のために Cookie からトグル状態を保存して読み取る
  • 目立たないようにする / JS が利用可能な場合にのみ切り替えリンクを表示する

    <html>

    <head>

    <title>VAT Switch</title>

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>

    <script type="text/javascript">

    function VATswitch(){

    var price = $(".price strong span").text();

    price = price * 10 / 12;

    $(".price strong span").text(price);

    var excl_incl = $(".price em").text();

    excl_incl = "(excl. VAT)";

    $(".price em").text(excl_incl);

    } </script>

    </head>

    <body>

    <a href="#" onclick="VATswitch();" id="vat_switch">Switch VAT</a>

    <p class="price">

    <strong>£<span>120</span></strong>

    <em>(incl. VAT)</em>

    </p>

    </body>

    </html>

助けてください。

4

1 に答える 1

3

最も簡単な方法は、両方の価格をページに表示してから、次のように jquery/css で可視性を制御することです。

<div class="price">
    <span class="incVAT">£11.50 (incl VAT)</span>
    <span class="exVAT">£10.00 (ex VAT)</span>
</div>

その後、トグラーは次のことができます。

$('.price .incVAT').show();
$('.price .exVAT').hide();

およびその逆

編集:クライアント側で計算を行いません。おそらく、あなたはある種のショップを作っていると思いますが、すべての商品に VAT がかかるわけではなく、税率が異なる商品もあるでしょう。

再コメントを編集:

Cookie を実行するのに役立つjquery Cookie ライブラリがあるため、それを永続化するために必要なことは、ロード時に値を読み取ることだけです。

$(function(){

    ShowPrices();

    $('a#vattoggle').click(function(){
        if($.cookie('VATMODE') == "INC"){
            $.cookie('VATMODE', 'EX');
        } else {
             $.cookie('VATMODE', 'INC')
        }
        ShowPrices();
        return false
    });
});


function ShowPrices(){
    if($.cookie('VATMODE') == "INC"){
        $('.price .incVAT').show();
        $('.price .exVAT').hide();
    } else {
        $('.price .incVAT').hide();
        $('.price .exVAT').show();
    }
}
于 2009-02-18T21:03:36.400 に答える