2016-03-19 11 views
1

フェーディング要素用のjQueryスクリプトを作成します。選択した各要素のjQueryが一緒に実行されます

しかし、私が<a class='sow'></a>要素の1つをホバーすると、 jQueryは、
<a class='sow'></a>要素のすべてに影響します。 たとえば、最初に選択した要素にカーソルを移動すると、他の要素も影響を受けます(フェーディング)。

私が望むもの:選択した要素にカーソルを移動すると、他の要素は影響を受けません。

スクリプト:

私はこの問題を解決するにはどうすればよい
$(".sow").hover(
function() { 
    $(".leftinf").show("slow"); 
    $(".rightinf").show("slow"); 
}, 
function() { 
    $(".leftinf").hide("slow"); 
    $(".rightinf").hide("slow"); 
}) 

私の悪い英語のための#sorry:/

コードabovを含むそのブログ:www.howtopc.cf

+0

あなたのコードのフィドルを投稿できますか?特にHTML部分 – Arno

+0

[http://pastebin.com/HgFJc87m] –

答えて

0

あなたはこの文脈で$(this)オブジェクトを使用する必要があり、

$(".sow").hover(function() { 
    $(".leftinf,.rightinf", $(this).next(".informasi")).show("slow"); 
},function() { 
    $(".leftinf,.rightinf", $(this).next(".informasi")).hide("slow"); 
}); 
  • .next()関数はすぐ次の兄弟を選択します。
  • $("selector", context)は、指定されたコンテキストで セレクタに基づいて要素を選択します。
+0

が動作しない:( 私のHTMLコードを確認してください:http://pastebin.com/HgFJc87m –

+0

@ArifZoelここで私のコードをどのように使用したかを表示できますか?ここに貼り付けてください –

+0

@ArifZoelあなたのデモを作成し、その中の 'test'にカーソルを置いてください: –

0

このことを避けるためのベストプラクティスは、idを基準にして要素を対象にする必要があります。したがって、idでターゲットを設定すると、問題が解決する可能性があります。 は、ケースであなたはこれを試してみてくださいクラスによって、それをターゲットにしたい:

HTML:

<button id="button"> 
    Button 
</button> 
<div class="mainDiv"> 
<div class="leftinf"> 
    Left Inf 
</div> 

<div class="rightinf"> 
    Right Inf 
</div> 
</div> 

はJQuery:

$("#button").hover(function() { 
    $(".mainDiv").toggle(); 
}); 

私はこれが、この通過し、あなたの問題を解決すると思います。 作業フィドル:Fiddle Link

+0

クラスの代わりにすべての要素のidをすべての人に設定させたいのですか?o_0? –

+0

@ArifZoelこのコードを試してみてください。 –

関連する問題