2010-11-21 7 views
0

誰かが私のコードを見て、どこに間違っているのか教えてください。jQuery Mouseover if hover文内のステートメント

$("div.inner").hover(function(){ 
    $("span.arrowL, span.arrowR").fadeIn("slow"); 
    if ($('div#move_next').mouseover()){ 
     return false; 
    } else { 
     return true; 
    } 
    }, 
    function(){ 
    $("span.arrowL, span.arrowR").fadeOut(); 
    }); 
}); 

私はホバーにフェードインするために背景画像を取得しようとしていますし、誰かが特定のエリアの上に置いた場合、私は矢印がそこに居るの代わりにフェードアウトします。

+0

私たちがテストできるように、対応するHTMLとCSSを投稿できますか? –

+0

すべてのCSSはhttp://jjordanweb.comで見つけることができます –

+0

@jjなぜmouseoverのためのif条件を持っているのですか?誰かがマウスオーバーするとトリガーが発生してもらえない場合は、マウスオーバーの条件の場合は使用する必要はないと思います – kobe

答えて

0

矢印Lまたは矢印R要素の上にホバーすると、親コンテナ全体のホバーはもはやなくなり、フェードアウトが呼び出されると考えます。

+0

私はそれができないことを求めているのですか? –

+0

ハ、申し訳ありませんが、曖昧な答えが少し残っています。私はそれが間違いなくイベントの整理を把握する必要があると思う。サッカーが始まっている間にそれを調べる:) – meinmkv

+0

ありがとうmeinmkv、大いに感謝! –

0

これを試してみてください:

$('#move_prev').mouseover(function() { 
    $('span.arrowL').stop(true).css('opacity', 1); 
}); 

$('#move_next').mouseover(function() { 
    $('span.arrowR').stop(true).css('opacity', 1); 
}); 

これは、ユーザーのマウスポインタが上を移動する矢印を起きてからフェードアウトを中止し、すでに行われているフェードアウトの一部を逆にする必要があります。 #move_prev#move_nextdiv.innerの中に入っていないので、これが必要です。そのため、矢印が隠れている理由です。

+0

これは、100万の理想的なマシンに感謝しました。私はここで論理的に何が起こっているのかを説明することができます。 したがって、移動divの1つがマウスオーバーすると、spanで実行されているすべての関数が停止し、cssの不透明度は1になりますか?これは近いですか? –

+0

@JJ Nold: '.stop(true)'は、現在実行中のエフェクト(マウスポインタが置かれている*正しい*矢印)を停止し、実行されるエフェクトのキューをクリアします。 http://api.jquery.com/stop/フェードアウトが既に始まっているので、矢印を完全に不透明にするには '.css( 'opacity'、1)'が必要です。これはすべて、#move_prevと'#move_next'は' div.inner'の中にありません。 – PleaseStand

+0

理想的なマシン、それを説明してくれてありがとう! –

関連する問題