0

私は以下のコードを持っています:最初の関数は、rel atributeを使用してマウスオーバーで代替画像を表示します2番目の関数は非表示のdivを取り、同じページの別の場所にコンテンツを表示しますが、画像にカーソルを合わせても画像は変更されません、非表示のdivでのホバーは機能しますが、他の場所でクリックして移動した後、ホバーは機能しません。準備ができたらページを変更するので、ドキュメント準備ができたスクリプトかもしれないと思いますが、よくわかりません。アドバイスはありますか?ありがとうございました

$(document).ready(function(){
$(function() {
    $('img[rel]').hover(function() {
        $(this).attr('tmp', $(this).attr('src')).attr('src', $(this).attr('rel')).attr('rel', $(this).attr('tmp')).removeAttr('tmp');
    }).each(function() {
        $('<img />').attr('src', $(this).attr('rel'));
    });;
});

$(function(){
    $('.id2').one("click",function() {
         var newPara = $('#test').html();
        $('#big_photo').append(newPara);
    }); 
});

});

4

1 に答える 1

1

私の意見では、よりエレガントな解決策であるため、画像の切り替えにスプライトを使用することを検討する必要があると思います。

  • rel属性は必要ありません(とにかく有効なimg属性ではありません)
  • 2番目の画像はすべて一度に読み込まれるため、問題なく読み込むことができます。

また

$(document).ready(function(){

$(function() {

は同じであり、必要なのはそのうちの1つだけです。

$(function() {
   // all your jQuery code
});

十分でしょう。


わかりました。次に、ホバー/アウトでsrcとrelを交換する場合、これは機能するはずです。

$('img[rel]').bind('mouseenter mouseleave',function() {
    var oldSrc = $(this).attr('src');
    $(this).attr('src', $(this).attr('rel')).attr('rel', oldSrc);
});

デモ: http: //jsfiddle.net/P37UX/1/

于 2011-09-28T14:20:31.000 に答える