0

私はjquery / javascriptにはかなり慣れていませんが、メインのナビゲーション要素を作成しました. アイデアは、ユーザーが特定のものにカーソルを合わせるという<li>ことです (つまり、 2 に分割されdivsます)。div1 のみが開始に表示されます。ホバーが発生すると、div1 の高さが 0 にアニメートされ、div2 が表示されます。

ただし、高さが 0 にアニメーション化されると、div1 のコンテンツ (特に白い h2 および h3 タイプを探します) は引き続き div2 のタイプの背後に表示されます (断続的に)。を台無しにすると、<li>これが発生しなくなりますが、エラーをログに記録したり、いくつかの時点で消える理由を突き止めたりすることはできません。

http://jsfiddle.net/pappley/BGy6R/3/ を参照

4

2 に答える 2

0

を次のように設定する必要がありoverflowますhidden

.main-link-title {
    height: 200px;
    overflow: hidden;
}

これがあなたのフィドルです:http://jsfiddle.net/BGy6R/4/

于 2013-02-02T23:52:32.460 に答える
0

私は同様の質問に答えましたが、オフステージのときにhide()を非表示にするために使用する必要があります。<div>

あなたのコードを見ると、これを行うことができるようです:

$('li').hoverIntent(function() {
    $(this).children(':first').stop(true, false).animate({height: '0'}, 1000, 'easeOutQuad').hide();
}, function() {
    $(this).children(':first').stop(true, false).show().animate({height: '200px'}, 1000, 'easeOutQuad');
});

.hide()の高さを設定するように見える最初の呼び出しの最後に を追加しまし<div>0? そして、2 番目show()の の前にa を追加しましたanimate()か?

基本的に、それをテストします。基本的な概念は、意図したアクションと動作に基づいて、またはいずれhideかにすることです。show<div>

于 2013-02-03T00:00:54.303 に答える