首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >什么是最好的方式来触发每个链接只有一个滚动?

什么是最好的方式来触发每个链接只有一个滚动?
EN

Stack Overflow用户
提问于 2011-04-05 21:52:57
回答 3查看 89关注 0票数 0

最好的方式是在每个链接上只触发一个滚动,而不是页面上的所有滚动。请参阅:http://www.4pixels.com/web-design/xweb-design.html目前很明显,页面上的任何'li a‘都会触发我的翻转。我想在每个图像上有单独的翻转,只由它自己触发。希望这是有意义的。

代码语言:javascript
运行
复制
<script type="text/javascript">
$(document).ready(function(){
  $(".content #display li a .caption").hide();
  $(".content #display li a").mouseenter(function(){
    $(".content #display li a .caption").slideDown(400);
  });
  $(".content #display li a").mouseleave(function(){
    $(".content #display li a .caption").slideUp(400);
  });
});
</script>

<ul id="display">
    <li><a href="/images/websites/PEX-BAFTA_2.jpg" rel="sexylightbox[group1]" title="Caption goes here"><img src="/images/websites/thumbs/PEX-BAFTA_2.jpg" alt="" /><div class ="caption">caption goes here</div></a></li>
</ul>
EN

回答 3

Stack Overflow用户

发布于 2011-04-05 21:56:29

这对你来说应该是有用的。

代码语言:javascript
运行
复制
  $('.content #display li a').bind('mouseenter mouseleave',function() {
        $('.caption', this).slideToggle(400);
  });

你遇到的问题是事件将被触发,然后你使用了选择器。使用返回触发事件的元素。或多或少。

票数 0
EN

Stack Overflow用户

发布于 2011-04-05 21:57:25

在您的事件处理程序中,尝试使用$(this).find(".caption")。

代码语言:javascript
运行
复制
$(".content #display li a").mouseenter(function(){
  $(this).find(".caption").slideDown(400);
});
票数 0
EN

Stack Overflow用户

发布于 2011-04-05 22:06:42

我会使用jquery的delegate来避免多个事件处理程序。

代码语言:javascript
运行
复制
$("#display").delegate('a', 'mouseenter mouseleave', function(){
  $(this).find(".caption").slideToggle(400);
});

注:我也可能会使用像hover intent这样的东西,这样当你在屏幕上滑动鼠标经过大量图像时,就不会向用户显示难看的动画堆积。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5552966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档