jQuery动画效果实现图片无缝连续滚动_jquery

本文实例介绍了jQuery动画效果实现图片无缝连续滚动的详细代码,分享给大家供大家参考,具体内容如下

效果图如下:

一、HTML代码

<body>
  <div id="container">
    <ul id="content">
      <li><a href="#"><img src="images/0.png"/></a></li>
      <li><a href="#"><img src="images/1.png"/></a></li>
      <li><a href="#"><img src="images/tewu.png"/></a></li>
      <li><a href="#"><img src="images/2.png"/></a></li>
      <li><a href="#"><img src="images/tewu.png"/></a></li>
      <li><a href="#"><img src="images/3.png"/></a></li>
      <li><a href="#"><img src="images/4.png"/></a></li>
    </ul>
  </div>
</body> 

1. id为container的div是最外层的包装,用来控制滚动区域显示的具体位置。
2. id为content的ul用来包装那些需要滚动的图片。

3. li元素就是用来包装具体的图片。

二、CSS代码

*{margin: 0; padding: 0;} 

img{
  border:0;
} 

#container{
  width:800px;
  height: 130px;
<span style="white-space:pre">  </span>margin:100px auto;
  border:3px solid blue;
  overflow: hidden;
  position: relative;
} 

#container ul{
  list-style: none;
  width:10000px;
  position: absolute;
} 

#container ul li{
  float:left;
  margin-right: 20px;
}

这里说明一点,ul 的 width为什么设置为10000px。 因为无缝连续滚动的实现原理,就是在现有显示图片的基础上克隆一份,并且拼接在显示图片的后面,但由于显示图片的总宽度是未知的,所以为了安全性,最好将ul的width宽度设置比较大些。

三、无缝连续滚动原理分析

四、JQuery实现代码

<script type="text/javascript">
/* window.onload比 $(function(){}) 加载的更晚一些,这样那些宽度的计算在Chrome中就可以准确计算了*/
  window.onload = function(){ 

    /*计算一个segment的宽度*/ 

    var segmentWidth = 0;
    $("#container #content li").each(function(){
      segmentWidth+= $(this).outerWidth(true);
    }); 

    $("#container #content li").clone().appendTo($("#container #content")); 

    run(6000); 

    function run(interval){
      $("#container #content").animate({"left":-segmentWidth}, interval,"linear",function(){
        $("#container #content").css("left",0);
        run(6000);
      });
    } 

    $("#container").mouseenter(function(){
      $("#container #content").stop();
    }).mouseleave(function(){
      var passedCourse = -parseInt($("#container #content").css("left"));
      var time = 6000 * (1 - passedCourse/segmentWidth);
      run(time);
    });
  }; 

</script> 

1. 先通过each遍历所有的li元素,计算出它们宽度之和。
2. 拷贝一份图片到现有图片的后面,原理分析图的"图一"所示。

3. 设置6秒钟滚动完界面上面现有的图片,滚动完毕后,通过设置content的left值,将其整体拉回到初始状态,原理分析图的"图二"所示。然后递归调用run方法,完成无限滚动。

4. 当鼠标经过滚动区域的时候,动画立刻停止; 当鼠标离开的时候,动画继续执行。

关于动画继续执行的代码,如下图分析:

以上就是jQuery实现图片无缝连续滚动的代码,希望对大家的学习有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索jquery
, 图片
, 滚动
无缝
jquery实现无缝滚动、jquery 无缝滚动、jquery图片无缝滚动、jquery左右无缝滚动、jquery无缝滚动插件,以便于您获取更多的相关知识。

时间: 2025-01-01 15:40:58

jQuery动画效果实现图片无缝连续滚动_jquery的相关文章

jquery动画效果学习笔记(8种效果)_jquery

1.元素的显示和隐藏 display:none; 隐藏 display:block; 显示 简单显示和隐藏方法 a) show() 显示 b) hide() 隐藏 c) toggle() 开关,显示则隐藏,隐藏则显示 <script type="text/javascript"> function f1(){ //隐藏 $("div").hide();//display:none //document.getElementById('id').style

jQuery动画效果相关方法实例分析_jquery

本文实例讲述了jQuery动画效果相关方法.分享给大家供大家参考,具体如下: 1.show()显示效果 语法:show(speed,callback)  Number/String,Function speend为动画执行时间,单位为毫秒.也可以为slow","normal","fast" callback可选,为当动画完成时执行的函数. show(speed,[easing],callback)  Number/String  easing默认是swin

jQuery 动画效果代码分享_java

一.显示.隐藏  jQuery 中显示方法为:.show(),隐藏方法为:.hide().在无参数的时候,只是硬性的显示内容和隐藏内容. $('.show').click(function(){ //设置个触发事件 $('#box').show(); //显示 }); $('.hide').click(function(){ //设置个触发事件 $('#box').hide(); //隐藏 }); 在.show()和.hide()方法可以传递一个参数,这个参数以毫秒(1000 毫秒等于 1 秒钟

js特效无缝文本图片向上连续滚动效果

1.中国WEB第一站? ,JS无缝垂直图片滚动,效果非常不错...图片特效 >>> JS无缝垂直图片滚动,效果非常不错 JS无缝垂直图片滚动,效果非常不错 2.网页制作教程? 从右向左滚动JavaScript图片滚动,看了一下代码,好像这方法挺简便的,容易修改,滚动无空隙,循环连续...图片特效向上无缝滚动的图片效果使一组图上无缝向上滚动的效果,用CSS定义滚动区域的大小与图片正好重叠 3.为什么要建立网站标准?什么是网站标准? 我们大部分人都有深刻体验,每当主流浏览器版本的升级,我们刚

jQuery动画效果图片轮播特效_jquery

从这一章节开始,我将会为大家陆续的介绍利用Jquery完成特效动画.先来看看这一节所介绍的特效:传统轮播. 一.需求分析 1. 提供很多尺寸相等的图片,一排紧挨着显示. 2. 左右有两个切换按钮,用来控制显示上一张还是下一张. 3. 右下方有指示器"小圈圈",用来提示显示到第几个图片:也可以点击它,进行图片的切换. 4. 每隔一个固定的时间,图片会自动滚动. 5. 当鼠标放到图片上面的时候,会停止自动滚动:当鼠标离开后,再经过固定间隔时间后,又会自动播放. 二.代码剖析 1. 用htm

jQuery动画效果animate和scrollTop结合使用实例

 animate是jq的一个特效的函数方法,animate() 方法执行 CSS 属性集的自定义动画.该方法通过CSS样式将元素从一个状态改变为另一个状态. CSS属性值是逐渐改变的,这样就可以创建动画效果. 只有数字值可创建动画(比如 "margin:30px"). 字符串值无法创建动画(比如 "background-color:red").   代码如下:$('#shang').click(function(){$('html,body').animate({s

Jquery实现带动画效果的经典二级导航菜单_jquery

导航菜单比较实用,当然还是选择经典的,代码最少的,效果最好的喽,各位童鞋请围观哦,废话不说, 效果图如下,欢迎评价: 看代码: 复制代码 代码如下: <!DOCTYPE html > <html> <head> <title>一款带动画效果的经典二级导航菜单Jquery特效</title> <meta name="author" content="Jquery" /> <meta name

jquery实现初次打开有动画效果的网页TAB切换代码_jquery

本文实例讲述了jquery实现初次打开有动画效果的网页TAB切换代码.分享给大家供大家参考.具体如下: 这是一款初次打开有动画效果的网页TAB代码,只在第一次点击TAB菜单的时候,会显示动画,再次点击的时候就没有了,一个实用的网页选项卡效果,有需要的请下载吧. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/jquery-first-open-flash-style-tab-cha-codes/ 具体代码如下: <!DOCTYPE html PU

jQuery实现感应鼠标动画效果自动伸长的输入框实例_jquery

本文实例讲述了jQuery实现感应鼠标动画效果自动伸长的输入框.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999