0

我在一个名为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 而不是自定义元素类型时,样式才显示出来。

如果可能的话,使用 ids 和 classes 来识别标准元素,而不是使用自定义元素。你的标记越不寻常,你就越不确定问题——“这是我的 JS 的问题,还是浏览器阻塞在我的自定义 HTML 上?”

于 2011-12-24T17:42:52.307 回答