2

「イベント」という言葉を正しく使っていないかもしれません。これが私がやりたいことです:

「続きを読む」で始まるリンクがあります。ユーザーが「Ream More」リンクにカーソルを合わせてクリックすると、右側のパディングが少し拡大し、ホバリングが止まると縮小します。私はこれでかなり簡単にそれを行うことができます:

$('#post-text a.more-link').hover(
function(){$(this).animate({paddingRight: '18px'}, 200);},        
function(){$(this).animate({paddingRight: '4px'}, 200);});

ただし、カーソルを合わせたときに「、お願いします」というテキストも追加したいと思います。を使用してそれを行うことができますが、思わ.append()ぬ障害に遭遇します。次のようにコードに追加すると:

$('#post-text a.more-link').hover(
function(){$(this).animate({paddingRight: '18px'}, 200), $(this).append(", Please");},        
function(){$(this).animate({paddingRight: '4px'}, 200);});

その後、誰かがホバーするたびに、別の「、お願いします」が追加されます。可能であれば、最初のホバーで一度だけ追加したい。

さらに、ホバリングが止まっても「、お願いします」がそこにとどまり、離れないようにしたいと思います。.one()orを使用する必要があると思います.bind()が、それがどこに行くべきかわかりません。

どんな助けでも大歓迎です。前もって感謝します。

更新:私はいくつかの進歩を遂げました。以下を参照してください:

まず第一に、私は最終的に使用する方法を学び、それが と同じ方法.one()で機能することも学びました。だからここに私が持っているものがあります:.hover()mouseenter

$('#post-text a.more-link').one('mouseenter', function() {
$(this).append(", Please");});

だから私はそれで満足しています.もう少しフレアのためにそれとパディングアニメーションの両方を追加する方法を理解する必要があります.

4

1 に答える 1

1
use $(this).append(' <span class="whatever">Please</span>');});

and on mouseout $(this).remove('.whatever');

むしろ使う:

$(document).ready(function(){


    $("#sall").live("mouseover mouseout", function(event) {
      if ( event.type == "mouseover" ) {
        $(this).append('Please');
      } else { 
          var g = $(this).html();
         $(this).html(g.substr(0,g.length-"Please".length)); //get rid of please
      }
});

})

この例を参照してくださいhttp://jsfiddle.net/jECW5/

于 2011-07-28T17:43:08.510 に答える