これは、hyの頭の底がどのように見えるかです:
$('#hello').mouseenter(function() {
$(this).effect("bounce", { times:1, distance:10 }, 800);
});
jQuery1.7.2とjQueryUI1.8にリンクしています。エラーは発生していませんが、#hello divにカーソルを合わせると、何も起こりません。何か案は?
ありがとう!
あなたのjQueryコードは問題ないようです、それであなたはdocument readyブロックを逃した可能性が高いです
doc readyしたがって、次のようなハンドラーを追加します
$(function() {
$('#hello').mouseenter(function() {
$(this).effect("bounce", {
times: 1,
distance: 30
}, 800);
});
});
準備ができたときにコードが確実に起動するようにしますDOM。
を使用$("#hello").mouseenter(...)せずに使用する場合、DOMにdoc ready block要素がまだないときに、このコードが実行される可能性があります。id helloしたがって$("#hello")、空のセットが返され、mouseenterバインディングは機能しません。
なしでは機能しない場合のマークアップの例doc ready block、
.
.
.
<script type="text/javascript">
$("#hello").mouseenter(....);
</script>
.
.
.
.
<div id="hello">Blah Blah....</div>
ブラウザはマークアップを順番に解釈するため、マークアップに直面するとすぐにjsコードを実行します。また、ここでJSブロックを実行すると、JSブロックの後に表示されるように、タグはまだ解析されていないため<div id="hello">、現時点ではDOMに含まれていません。
したがって、上記の場合$("#hello")は空であるため、イベントバインディングは機能しません。document readyしたがって、すべてのJSコードを次のようにブロック内に配置することは常に安全です。
$(function){
// put all your JS code here
});