2011-01-18 11 views
0

お元気ですか、ここで少し助けが必要です。Divを表示して非表示にするonMouseOver

私は、ターゲットdivの隠しテキストをアニメーション化するためにマウスを動かすテキストリンクが必要です。だから私がリンクAの上にマウスを置くと、そのテキストはフェードインします。私はリンクBにカーソルを合わせると、前のテキストが消えて、新しいテキストがフェードイン

ここに私のjavascriptです。ここ

<script type="text/javascript"> 
function ShowHide(){ 
    $("#textMessages").animate({"height": "toggle"}, { duration: 1000 }); 
    } 
</script> 

は私のリンクです:

<a onMouseOver="ShowHide(); return false;" href="#">Message A</a> 

<a onMouseOver="ShowHide(); return false;" href="#">Message B</a> 

<a onMouseOver="ShowHide(); return false;" href="#">Message C</a> 

そして、ここは私ですフェードインとフェードアウトするには、テキストスニペットをDIVをターゲット:

<div id="textMessages"> 

<div id="defaultMessage"> 
Lorem ipsum dolor sit amet, consectetur adipiscing elit 
</div> 

<div id="MessageA"> 
Lorem ipsum dolor sit amet, consectetur adipiscing elit 
</div> 

<div id="MessageB"> 
Lorem ipsum dolor sit amet, consectetur adipiscing elit 
</div> 

<div id="MessageC"> 
Lorem ipsum dolor sit amet, consectetur adipiscing elit 
</div> 

</div> 

私は#1 MessageA/B/C displaを設定する必要がありますと仮定y:なし

答えて

2

ここにあなたがしようとしていると思うことをするjsFiddleがあります。

http://jsfiddle.net/rcravens/md3Xe/

それはそれではない場合には、追加情報を提供してください。

ボブ

+0

ビンゴテキストをアニメーション化する方法はありhttp://www.jsfiddle.net/bradchristie/zgbfa/3/。!? FadeIn/Out SlideUp/Down? – brianrhea

+0

確かに、 'show'/'hide'の代わりに 'fadeIn'と 'fadeOut'を使用することができます。 'slideDown'/'slideUp'を使用した例は次のとおりです:http:// jsfiddle。 net/rcravens/md3Xe/6/ – rcravens

+0

ありがとうございます私はdefaultMessageについて私が不明であったと思う以外は完璧です。これは、ユーザーが最初に訪問したときに表示されるべきものですが、ホバーするとすぐにフェードアウトし、何もホバー状態にない場合にのみ再表示されます。既に助けてくれてありがとう! – brianrhea

1
+0

これもいいです、Alfred ...ホバー状態がなくてもdefaultMessageが表示され、リンクの1つが上がったときに表示されなくなるように設定できますか? – brianrhea

0

による "改善" の回答がここに私の入札だしました:

$(function(){ 
    var slideOut = null; 
    $('#textMessages').slideUp(1000); 
    $('#textMessages,.textMessagesLink').hover(function(){ 
     $("#textMessages").slideDown(1000); 
     if (slideOut != null) { 
      clearTimeout(slideOut); 
      slideOut = null 
     } 
    },function(){ 
     slideOut = setTimeout(HideHide,1000); 
    }); 
    function HideHide(){ 
     $('#textMessages').slideUp(1000); 
    } 
}); 

はそうすることで、タイマーを利用しました。また、あなたのリンクを少し変更して(参照用のクラスを追加しました)、div上にマウスを置くとdivも表示されます(.hover()セレクタの '#textMessages' 。

の作業例:http://www.jsfiddle.net/bradchristie/zgbfa/1/ 考慮し、「コンテンツのdivを」取ってのもう一つの例:(あなたにもたい場合defaultDivで遊ぶことができます

関連する問題