链接地址:http://blog.sina.com.cn/s/blog_75cf5f32010199dn.html

最近做了个图片循环轮播的功能。就是几张图片不断的循环滚动显示。

感觉这个方法不错所以把实现过程记录下来:
图片间隔循环轮播:
1、html里面把要进行轮播的图片用一个容器包起来,用js来控制这个容器滚动,当然最外面的容器要设置overflow:hidden;。
2、css里面控制这个容器的位置,实现滚动就需要用到定位。
3、js里面利用jquery的animate动画函数实现滚动。
 
js列子:
var Ptop = -100; 
function ceshi () {
$('#cesji .p1').animate({top: Ptop}, {
duration: 400,
complete: function () {
Ptop = Ptop - 106;
if (Ptop == -524) {
Ptop = 6;
$('#cesji .p1').css('top', '112px');
}
});
}
var qinghcu = setInterval(ceshi, 3000);
 
没有间隔的循环轮播:
没有间隔的循环轮播和有间隔的循环轮播步骤差不多,只是定时器不是间隔多久移动一次,而是要执行完一次后马上执行第二次,这里我们最好是用超时定时器setTimeout()方法。一开始执行一次,然后再执行的函数体里面再次调用该定时器,这样就会不断地调用那个执行移动的函数,从而实现不断移动。。。。
用juqery动画的列子:
var sudu = 3;
var hzmtQingChu;
function ceshi () {
$('.aa2').animate({left:sudu}, {
duration : 120,
complete : function() {
sudu = sudu + 3;
if (sudu == 300) {
//alert('a');
sudu = 3;
$('.aa2').css('left', '3px');
}
hzmtQingChu = setTimeout(ceshi); //目标移动完后再次调用该移动函数
}
});
}
 
 hzmtQingChu = setTimeout(ceshi, 60);
 
原生态列子:
var sudu = 1;
var hzmtQingChu;
function ceshi () {
$('.aa').css('left', sudu);
sudu = sudu + 1;
if (sudu == 600) {
$('.aa').css('left', '1');
sudu = 1;
}
hzmtQingChu = setTimeout(ceshi);//目标移动完后再次调用该移动函数
}
 
 
hzmtQingChu = setTimeout(ceshi);
 
这里图片放的位置有点技巧,假如我们这个容器里面显示的是三张图片,但是一共有5张图片轮播,下面看看方的位置:
 5, [1, 2, 3], 4,5,1, 2
5, 1, [2, 3, 4],5,1, 2
5, 1, 2, [3, 4, 5],1,2
5,1,2,3[4, 5, 1], 2, 
5,1,2,3,4[5,1,2]      ==> 这个时候换下面最开始的状态
[5, 1, 2], 3, 4,5,1, 2   [回到最开始的状态]

[]括号里面的代表你的容器里面显示的3张图片

js 实现图片间隔循环轮播以及没有间隔的循环轮播的更多相关文章

  1. 分别用css3、JS实现图片简单的无缝轮播功效

    本文主要介绍分别使用CSS3.JS实现图片简单无缝轮播功效: 一.使用CSS3实现:利用animation属性 (实现一张一张的轮播,肉眼只看见一张图片) HTML部分比较简单,两个div下包着几个i ...

  2. 原生js实现图片轮播思路分析

    一.复习原生js实现图片轮播 1.要点 自动轮播 点击小圆圈按钮,显示相应图片 点击左右箭头,实现向前向后轮播图片 2.实现思路 <div id="container"> ...

  3. Js实现图片点击切换与轮播

    Js实现图片点击切换与轮播 图片点击切换 <!DOCTYPE html> <html> <head> <meta charset="UTF-8&qu ...

  4. js实现图片无缝轮播

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. 原生JS—实现图片循环切换的两种方法

    今天我们主要讲讲如何使用原生JS实现图片的循环切换的方法.多余的话我们就不多说了,我们一个一个开始讲吧. 1  原生JS实现图片循环切换 -- 方法一 在上栗子之前我们先简单介绍一下所用的一些知识点. ...

  6. 原生JS—实现图片循环切换及监测鼠标滚动切换图片

    今天我们主要讲讲如何使用原生JS实现图片的循环切换的方法以及如何检测鼠标滚动循环切换图片.多余的话我们就不多说了,我们一个一个开始讲吧. 1  原生JS实现图片循环切换 -- 方法一 在上栗子之前我们 ...

  7. 原生JS实现图片循环切换

    <!-- <!DOCTYPE html> <html> <head> <title>原生JS实现图片循环切换 —— 方法一</title&g ...

  8. Lazyr.js – 延迟加载图片(Lazy Loading)

    Lazyr.js 是一个小的.快速的.现代的.相互间无依赖的图片延迟加载库.通过延迟加载图片,让图片出现在(或接近))视窗才加载来提高页面打开速度.这个库通过保持最少选项并最大化速度. 在线演示    ...

  9. jQuery轮播图(手动点击轮播)

    下面来看看最终做的手动点击轮播效果: 一.原理说明 (1)首先是轮播图的架构,我采用了一个最外边的大div包住两个小div,一个小div里面放四张图片,另一个小div里面放四个数字按钮 (2)对最外边 ...

随机推荐

  1. C#_socket拆包_封包_模拟乱序包

    拆包一直是个硬伤呀,MLGB的,服务端各种乱数据,果断整理下 拆包思路:设计一个网络协议,一般都会分包,一个包就相当于一个逻辑上的命令. .如果我们用udp协议,省事的多,一次会收到一个完整的包,但U ...

  2. bzoj 4373: 算术天才⑨与等差数列 hash

    题目链接 题目大意:  给你n个数, 给两种操作, 一种给你l, r, k,问你[l, r]区间里的数排序后能否构成一个公差为k的等差数列. 另一种是将位置x的数变为y. 强制在线. 可以用hash来 ...

  3. [LeetCode]题解(python):108-Convert Sorted Array to Binary Search Tree

    题目来源: https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/ 题意分析: 给出一个排好序的数组,根据这 ...

  4. 关于Class.forName(“com.mysql.jdbc.Driver”)--转

    传统的使用jdbc来访问数据库的流程为:Class.forName(“com.mysql.jdbc.Driver”);String url = “jdbc:mysql://localhost:3306 ...

  5. java从c struct传来的字节数组中取值

    public int getInt(byte[] array,int index) { return (array[index]  & 0xff)  | (array[index + 1] & ...

  6. 国内BI工具/报表工具厂商简介

    v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...

  7. Windows Azure 社区新闻综述(#74 版)

    欢迎查看最新版本的每周综述,其中包含有关云计算和 Windows Azure 的社区推动新闻.内容和对话.以下是本周的亮点. 文章.视频和博客文章 ·   Azure CDN:吸取的宝贵经验(10 月 ...

  8. Android 中文API (70) —— BluetoothDevice[蓝牙]

    前言 本章内容是  android.bluetooth.BluetoothDevice,为Android蓝牙部分的章节翻译.蓝牙设备类,代表了蓝牙通讯国足中的远端设备.版本为 Android  2.3 ...

  9. 解决shell脚本中 echo 怎么写入换行到文件

    測试环境:ubuntu12.04 LTS版本号 echo >> file.txt就可以, 这样的方法对于脚本开头是bash和sh效果都一样, 而echo -e >> file. ...

  10. Matlab pivotgolf

    function scoreout = pivotgolf(course,pivotstrat) % PIVOTGOLF Pivot Pickin' Golf. % Your goal is to u ...