0

私が間違っていることは何ですか?

「ホバー」がtext3に適用されないようにしようとしています。

$(document).ready(function() {

runIt();

});

function runIt(){
$('#myText').hover(function(){
        $(this).clearQueue().html('Start Again');

})
.click(function(){
    runIt();
})
.html('text 1')
.fadeIn(1000)
.delay(1000)
.fadeOut(1000,function(){
    $(this).html('text 2');
})
.fadeIn(1000)
.delay(1000)
.fadeOut(1000,function(){
    $(this).html('text 3').unbind('hover');
})
.fadeIn(1000);

};

4

1 に答える 1

1

.hover()は実際にはショートカットであるため、バインドを解除するには、作成したイベントハンドラーのバインドを解除する必要があります。また、これらのイベントを指定する必要があります。たとえば、次のようになります。mouseentermouseleave

$(this).html('text 3').unbind('mouseenter mouseleave');

サイドチップとして、.ready()関数を取りますので、これの代わりに:

$(document).ready(function() {
  runIt();
});

あなたはただすることができます:

$(document).ready(runIt);

または、ハンドラーをjQueryコンストラクターに直接渡すショートカット形式:

$(runIt);

上記のすべてがここで同じ効果を持ちます。

于 2011-04-30T11:16:57.087 に答える