0

というカスタム HTML タグ内に 2 つのフォームがありますuptoppage

ドキュメントが読み込まれると、フォームを保持する要素を上にスライドさせます。誰かがマウスを親要素の上に再び置いたら、それを下にスライドさせたいと思います。代わりに、何も起こりません。

ここに私のマークアップがあります:

<uptoppage>controller....
  <uptpc>
    <form>.....</form>
    <form>......</form>
  </uptpc>
<uptoppage>

私が使用しているjQueryは次のとおりです。

$("uptoppage").hover(function() {
  $('uptpc', this).slideDown();
}, function() {
  $('uptpc', this).slideUp();
});
4

2 に答える 2

0
<script type="text/javascript">
     $(document).ready(function(){ 
           $('form').hover(function(){
             $('form').slideUp();
             $(this).slideDown();
           });
        });
</script>
于 2011-12-24T18:22:33.190 に答える
0

サイズ変更に注意

hover()またはコールバック関数の使用に問題はありません。私はあなたの例をいじりました。私が見た主な奇妙な動作は、子要素が隠されている場合、親が非常に小さくなり、マウスの下から移動することでした.

つまり、jQuery は、ユーザーが要素にカーソルを合わせているかどうかを監視しています。その要素が拡大または縮小している場合、マウスを動かさなくても、その要素の上にいると、ホバーアウト、ホバーインなどがトリガーされて変化する可能性があります。したがって、親要素に他のコンテンツがあること、および/または CSS によって指定されたサイズがあることを確認してください。

マークアップを確認する

私も最初のコメントに同意します: カスタム要素を避けることができるなら、それを使うべきではありません。親要素に境界線を付けて、その大きさを確認しましたが、カスタム要素タイプではなく id を持つ div にするまで、スタイルは表示されませんでした。

可能であれば、カスタム要素を使用する代わりに、ID とクラスを使用して標準要素を識別してください。マークアップが異常であるほど、「これは私の JS の問題なのか、それともブラウザーが私のカスタム HTML を詰まらせているのか?」という問題について不確かになります。

于 2011-12-24T17:42:52.307 に答える