0

HTML

<p id="para"> This is a paragraph</p>

JS/Jクエリ

$("para").hover(function() {$(this).hide();}, function() {$(this).show();}); 

今私がしようとしているのは、マウスが段落の上にあるときに要素が非表示になり、マウスが離れると要素が再び表示されるはずです。ただし、どちらの段落も隠れていないため、表示されません。ここで何が問題なのですか?

4

6 に答える 6

3

# ID セレクターがありません。 「para」だけでタグを探してい<para>ます (もちろん、この場合は存在しません。

$("#para")

補足として、通常、divこのような状況を包むような (セットサイズとしましょう) などを使用する必要があり、ホバーイベントが取得される場所と、内部の div が表示されます。「スキッピー」を少なくします。

また、div で行う場合は、CSS で行うことができます。

div:hover #para { display:block; }

jsFiddle CSS の例

于 2012-09-26T17:42:19.193 に答える
2

IDの「#」を見逃しました。

$("#para").hover(function() {$(this).hide();}, function() {$(this).show();}); 
于 2012-09-26T17:42:54.240 に答える
2

OPのタイプミスとして欠落#していると仮定すると、要素が非表示になるとマウスアウトがトリガーされるため、コードは期待どおりに機能しません。

デモ:http: //jsfiddle.net/s8cpz/

于 2012-09-26T17:46:19.433 に答える
0

('#para') で ('para') を修正すると、p タグを非表示にするとすぐに mouseout イベントがアクティブになり、hide() メソッドが実行され、マウス カーソルが上に来るまで p タグが点滅し始めるため、目標を達成できません。この解決策が役立つ場合があります。

$("#body").hover(function(){
$("#para").css("visibility","hidden");},
            function() 
            {$("#para").css("visibility","visible");
            }
           ); ​

<div id="body">
  <p id="para"> This is a paragraph</p>
<div>​

デモ

于 2012-09-26T17:50:04.217 に答える
0

このコードは機能しません。ホバリングすると、すぐに消えるはずですよね?ただし、それが消えると、マウスはまだその上にあるため、消失pはそれを , として登録しmouseleaveます (カーソルが犯人であるか、それ自体であるかに関係なく、カーソルがカーソルから分離されていることがわかります。 t care)、効果的に のmouseleaveハンドラーを起動します。hoverこれは無限に続き、 の急速な点滅につながりますp$("p").css({opacity',0.01})の代わりにできます$('p').hide()。このコードで問題を確認してください。

<!DOCTYPE html>
<html>
<head>
<script src="jquery.js"></script>
<script>
$(document).ready(function(){
setTimeout(function() { $("p").hide(); },10000);
$("#para").mouseleave(function() {alert('cool');}); 
});
</script>
</head>
<body>
<p id="para"> This is a paragraph</p>

</body>
</html>

マウスを の上に置いたままにしてp、10 秒後に がp消えると、アラートがポップアップ表示され、mouseleaveハンドラーが起動したことを示します。

于 2012-09-26T17:48:50.933 に答える
0

まず、#を見逃しました。次に、要素が非表示になると、その css 表示プロパティが none に変更されるため、ページ上のスペースを占有しないため、マウスはもうその上になく、再び表示されます。これにより、一種の無限ループが作成されます。このようなエラーは純粋に論理的なものであり、古いバージョンのブラウザーをクラッシュさせることさえあります。

于 2012-09-26T17:52:34.403 に答える