0

誰かが私を助けることができるかどうかはわかりませんが、私は製品ビューページを持っていて、上部に製品名をh1タグに入れています.

各製品には、バック、アイボリー、バーガンディなどのラベルの色を含む画像のセレクションが添付されています。

製品名を次のように表示したい:

製品名 | 色

最初の(デフォルトの)イメージでそれを実現することができました。

したがって、製品ページに移動すると、名前は次のようになります。

アルバニー | 黒(私が欲しいのとまったく同じ)

製品名のさまざまな色のオプション (画像) をクリックすると、次のように変更されます。

アルバニー | アイボリー アルバニー | ブルガンディ アルバニー | チョコレートなどなど

私はある程度の助けを受けましたが、今は立ち往生しています。

テーマの script.js ファイルを変更して、以下を含めるようにアドバイスされました。

$('.more-views a').click(function(){
$('#label').text( $('img', this).attr('alt')  ); });

h1 タグを囲むコードは次のとおりです。

<div class="product-name">
            <h1><?php echo $_helper->productAttribute($_product, $_product->getName(), 'name') ?>
            <span id="label"><?php echo ' | ' ?><?php echo $_product->getData('image_label');?></span></h1>
         </div>

どうすればこれを達成できるか誰かが知っていれば、本当に感謝しています。

前もって感謝します。

問題のページへのリンクは次のとおりです。

http://dansiop.com/yarwood/index.php/albany.html

4

2 に答える 2

1

ページにいくつかのJavascriptライブラリがロードされています(scriptaculous、prototype、jQueryを含む)。を使用していないことを確認すると、jQueryを使用するように設定されている場合は、代わりにjQuery.noConflict()を使用する必要があります。jQuery$

また、jQuery 1.7以降がロードされているため、デリゲートを使用してこれを処理することをお勧めします。

// don't forget document ready
jQuery(function ($) {

    // let's cache the label
    var _label = $('#label');

    $('.more-views').on('click', 'a img', function () {
        _label.text($(this).attr('alt'));
    });

});

前述のように、altこれを機能させるには、画像に属性を設定する必要があります。alt値を取得して、最初から何もない場合にそれを表示することはあまり意味がありません。

<img src="" alt="Blue" />
于 2012-06-18T10:56:23.323 に答える
0
$('.more-views a').click(function(){
   $('#label').text( $(this).find('img').attr('alt') );
});

この答えの前に私のコメントを見てください。

于 2012-06-18T10:47:26.810 に答える