1
は、マウスが一度要素が取り上げられた領域の外に移動すると、要素を元に戻してアニメーション化するonmouseoverと呼ばれる関数を持っています。この関数は正常に動作しますが、1回だけ動作します。だから私はmouseover 2回目の機能はトリガされません。私は関数を再びトリガーするためにページを更新する必要があります。いかなる援助も感謝します。Javascript:onmouseoverが1回以上トリガされない
HTML:
Javascriptを:
function slideDown(item) {
$(item).animate({
top: '-100%'
}, 250, 'easeInOutCubic');
$(document).mousemove(function (e) {
if (e.pageX < $(item).offset().left || e.pageX > ($(item).offset().left + $(item).width()) || e.pageY < $(item).offset().top || e.pageY > ($(item).offset().top + $(item).height())) {
$(item).animate({
top: '-200%'
}, 250, 'easeInOutCubic');
}
});
};
アニメーションにピクセルの代わりにパーセントを使用することが問題だと思います。 –
なぜ 'slideDwon'が呼び出されるたびにドキュメントにmousemoveイベントをバインドしていますか?彼らはちょうど積み重ね続けるとすぐにあなたのページは本当に遅くなるので、マウスが動くたびに多くのものが行われます。また、onmouseoverイベントを要素からバインド解除しています。ドキュメントから 'mousemove'をアンバインドするつもりでしたか? '$(document).unbind(" mousemove ")' – Esailija
申し訳ありませんが、$(item).unbind()は含まれていませんでした。私はそれを削除した – user1165534