0

別のボタンを追加したいので、合計で 2 つではなく 3 つのボタンがあります。これを行うにはどうすればよいですか? 製品ホルダーを 3 つ追加しようとしましたが、最初にボタン 1 をクリックしてからボタン 3 をクリックすると、両方のボタンの背景画像が同じになります。

プレビュー: http://gyazo.com/6698586765626a57405f9232baaaf61f.gif

新しいコード (動作しません):

$(document).ready(function(){$(".theImage img").click(function(){
    var a=$(this).parent().attr("id")=="product-holder1"?"product-holder2"?"product-holder3":"product-holder1";
    console.log(a);
    $(this).fadeOut();
    $("#"+a+" img").fadeIn();
   });
});

私は 3 つのボタンを持っています。それらの 1 つをクリックすると、画像が変わります。したがって、ユーザーがボタン 1 をクリックすると、画像が変わります。ボタン 2 をクリックすると、この 1 つのボタン 1 の画像が通常に戻ります。

ウェブサイト: http://productsgiveaway.com/iphone5s/

助けていただければ幸いです。

古いコード Javascript:

$(document).ready(function () {
$(".theImage img").click(function () {
    var a = $(this).parent().attr("id") == "product-holder1" ? "product-holder2" : "product-holder1";
    console.log(a);
    $(this).fadeOut();
    $("#" + a + " img").fadeIn()
})
})
4

1 に答える 1

0

画像をクリックするときはコンソールを見てください。はproduct-holder#すべて台無しです。これはあなたの問題です。変数をそのように設定する理由がわかりaました。これだけ使ってみて……。

var a = $(this).parent().attr("id");

上記であなたがしていることは、....と言っているのと同じです。

if(id==product-holder1)
    a=product-holder2;
else
    a=product-holder1;

だからあなたは本当にそれらを逆にしています、そしてそれはあなたの問題です. id 属性を使用して、親の ID を取得します。

編集:

私のためにこれを入れてみてください。私はそれがうまくいくと確信していませんが、それが何をするか見たいです

$(document).ready(function(){
    $(".theImage img").click(function(){
        $(".theImage img").fadeIn(); //SPOT 1
        $(this).fadeOut();
    });
});

それが機能するのを見てうれしいです。何が起こっているのか...背景画像を継続画像に設定し、選択を上に置きます。したがって、コードでクリックしたときに選択したすべての画像 (SPOT 1) が表示されるようにする必要があります。次に、$(this)セレクターを使用してクリックした画像を取得し、それを非表示にします。次に、下にある背景画像が表示されます。これにより、目的の効果が得られます。実際には、ID を引き込む必要があるよりもはるかに複雑にしていました。

于 2013-10-15T15:06:31.490 に答える