Jquery 滑动到点击位置

标签 jquery

这是一个场景...

我有一个专栏。在该列中,我有多个 div,每个 div 中都有文本。有点像类别列表。选择哪一个都会获得不同的背景颜色。

我希望能够使用 jquery,这样当单击不同的 div 时,背景颜色似乎会滑到其余项目后面,直到到达您选择的项目。

有人知道这是否可以做到吗?如果有的话,对标记有什么想法吗?

非常感谢任何帮助。

需要一个包装器,每个部分的内容容器以及滑动的东西......

<div>
  <div class='slider'></div>
  <div>Content 1</div>
  <div>Content 2</div>
</div>

最佳答案

有趣的请求:) 您可以使用 .animate() 和一点 CSS 来完成此操作,如下所示:

<html>
 <head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js" type="text/javascript"></script>
   <script type="text/javascript">
   </script>
   <style type="text/css" >
    #content div { width: 200px; z-index: 2; }
    #content div.slider { position: absolute; background: #99AABB; z-index: -1; }
   </style>
 </head>
 <body>
<script language="javascript" type="text/javascript">
$(function(){
  $("#content div:not(.slider)").click(function() {
   $(".slider").animate({ top: $(this).offset().top, height: $(this).height() });
  });
});
</script>
  <div id="content">
    <div class='slider'></div>
    <div>Content 1 Test<br/>Test<br/>Test<br/>Test<br/>Test<br/>Test</div>
    <div>Content 2<br/>Test<br/>Test<br/>Test<br/>Test<br/>Test<br/>Test</div>
  </div>
 </body>
</html>

尝试一下:) 只需单击任一 div 即可查看效果。 See a demo here

重要的部分:

  • 忽略点击处理程序中的 .slider div
  • .animate() 与目标 div 相同的偏移/高度
  • 降低z-index,使其显示为背景
  • 您可以使用图像,.slider div 的 CSS 中的任何内容都可以使用

关于Jquery 滑动到点击位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2512143/

相关文章:

javascript - jQuery:添加第一行时如何更新行号?

javascript - 如何让div从左向右更快地移动?

jquery - jqgrid编辑选项: required not functioning

javascript - 如何在 Jquery 上控制 webkit 框架?

javascript - 基于 PHP 条件在页面刷新时将复选框设置为 CHECKED

javascript - 如何在悬停的 div 后创建一个像箭头一样的向下三 Angular 形

Jquery Mobile - 突出显示选项卡

javascript - 使用jsp和sql查询的问题

jquery - 似乎无法比较点击时表格数据的背景颜色,我做错了什么?

http - jQuery.ajax 在响应结束之前获取服务器刷新的数据的开始