JS图片自动或者手动滚动效果(支持left或者up)
JS图片自动或者手动滚动效果(支持left或者up)
JS图片自动或者手动滚动效果
在谈组件之前 来谈谈今天遇到搞笑的事情,今天上午接到一个杭州电话 0571-28001187 即说是杭州人民法院的 貌似说我用招商银行信用卡在今年的6月23日借了招商银行19800元人民币,今天是最后一天没有还款,说我其他银行钱都被冻结了。以后有可能法律投诉我!我靠 我无语啊 我长这么大从来都没有办理过信用卡,我根本就不需要办理信用卡,所以一直以来也没有办过,招商一卡通是有一张 但是从来没有借过钱啊,身份证一直都身上带着!基本上没有脱离过身,今天我打电话过去 他问我叫什么名字 我就报了名字 我问是什么情况 然后说了很多 大概意思就是刚刚上面的意思 然后他接着问我身份证号是多少?我就没有告诉他,我今天就半信半疑 我到银行取下钱 看看是不是真的我的卡被冻结了 结果我所有的银行卡都没有被冻结。我怀疑有可能是骗人的,如果有杭州的朋友 可以试试打上面的电话 然后随便报个假名字 让他们查下 看看他们怎么说?就知道了!快过年了 我也在这希望大家不要被一些人骗了,年底小心骗子(骗子很多的)。 不多说了,下面来看看我这个JS效果原理吧!
基本原理
1. 开始获取每次滚动的个数,如果参数item(int整形数字)传进来,就取参数item个数 否则的话 个数count = 取外层容器宽度(或高度) / 每个li宽度(或高度)。然后判断方向 如果是left(向左) 那么父级容器宽度ul * 2,否则的话ul高度*2. 然后计算下一次滚动多少距离。如果方向是left 那么值的计算 = ("li",wrap).outerWidth() * _cache.count(也就是当前一个li的宽度*滚动的个数)。如方向是top 那么值的计算 = ("li",wrap).outerHeight() * _cache.count(一个li的高度*滚动的个数)。
2. 下一页按钮事件的原理:
默认是auto(自动播放),不断向下一页滚动,_scrollNext函数的原理:如果方向是left 那么marginLeft:动画(animate)移动多少距离。接着回调函数把第一个li插入到最后上面来,且让margin-left:0;接着又执行相应的动作 就是一个循环了。同理 向上滚动也是这个道理。
3. 上一页按钮事件的原理:
从后面获取几项元素(根据count个数来获取多少个)。接着判断left或者up方向。接着marginLeft或者marginTop,就这样循环。
4. 判断传进来的auto参数 如没有传 则默认显示true 自动滚动 否则的 手动滚动。如果是自动的话 调用 setInterval 执行 _scrollNext滚动下一页的方法。
示意图如下:
jsfiddle的效果如下链接,可以点击进去看看。
http://jsfiddle.net/longen/3jXFN/embedded/result/
依赖于HTML结构如下

<div id="example">
<div class="scroll">
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
<span class="prev">前一个</span>
<span class="next">下一个</span>
</div>

如果没有上下页的话 上下页按钮可去掉HTML代码。
可配置的参数如下
targetElem | 目标元素 默认为空 需要传入 |
direction | 'left', // 默认方向为left 或者自定义 up |
btnPrev | '.prev', // 上一页按钮 |
btnNext | '.next', // 下一页按钮 |
auto | true, // 默认为true 自动播放 |
item | null, // 一次滚动多少个 |
speed | "1000", // 设置每次滚动动画执行时间(单位毫秒,默认为1000); |
time | "3000", // 设置每次动画执行间隔时间(单位毫秒,默认为3000); |
callback | null // 点击上一页或者下一页回调 |
HTML代码如下:
CSS代码如下:
JS代码如下:
代码初始化方式分别如下:
我所理解的RESTful Web API [Web标准篇]
JS图片自动或者手动滚动效果(支持left或者up)的更多相关文章
- JS可控制的图片自动循环播放查看效果
JS可控制的图片自动循环播放查看效果 <html> <head> <title>JS可控制的图片自动循环播放查看效果丨芯晴网页特效丨CsrCode.Cn</t ...
- JS图片自动和可控的轮播切换特效
点击这里查看效果:http://hovertree.com/texiao/js/1.htm HTML文件代码如下: <!DOCTYPE html> <html xmlns=" ...
- 利用原生JS实现网页1920banner图滚动效果
内容描述:随着PC设备硬件性能的进步和分辨率的不断提高,现在主流网站逐渐开始采用1920banner图,为适应这一趋势,博主设计了1920banner图的滚动效果,代码利用了原生JS实现了1920ba ...
- 原生js实现文字无缝向上滚动效果
在网上查找到了一个实现文字无缝向上滚动效果的源码,结果发现运行有问题,于是就稍加改动,实现了js无缝向上滚动的效果. <script> window.onload = roll(50); ...
- 页面滚动显示或隐藏元素Headroom.js插件帮助你实现滚动效果
Headroom.js 是什么? Headroom.js 是一个轻量级.高性能的JS小工具(不依赖任何工具库!),它能在页面滚动时做出响应.此页面顶部的导航条就是一个鲜活的案例,当页面向下滚动时,导航 ...
- js 图片自动循环切换setInterval();
stlye样式定义 <style type="text/css"> body{background-image: url(img/001.jpg ...
- iscroll.js 移动端手触滚动效果。
function loaded() { var myscroll=new iScroll("wrapper",{hScrollbar:false, vScrollbar:fals ...
- Skrollr.js -- 使用Skrollr创建视差滚动效果页面
使用方法: http://www.helloweba.com/view-blog-262.html http://www.uedsc.com/skrollr.htmlhttp://www.hello ...
- JS实现 鼠标放上去 图片自动放大的效果
前段时间做项目,要实现,一张图片,鼠标放上去图片自动变大的效果,虽然难度不大,但当时也想了一段时间,当时没时间记录一下,现在有时间了,写篇博客把代码给记录一下: 效果如下: 代码如下: <!DO ...
随机推荐
- 14、Cocos2dx 3.0三,找一个小游戏开发Scene and Layer:游戏梦想
发人员的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/30474393 Scene :场景 了解了Director ...
- C#并行和多线程编程
5天玩转C#并行和多线程编程 —— 第二天 并行集合和PLinq 5天玩转C#并行和多线程编程系列文章目录 5天玩转C#并行和多线程编程 —— 第一天 认识Parallel 5天玩转C#并行和多线 ...
- 使用Maven管理Spring[转]
原文链接: Spring with Maven 原文日期: 2013年04月17日 翻译日期: 2014年06月29日 翻译人员: 铁锚 翻译原文连接:http://blog.csdn.net/ren ...
- 文《左右c++与java中国的垃圾问题的分析与解决》一bug分析
文<左右c++与java中国的垃圾问题的分析与解决>一bug分析 DionysosLai(906391500@qq.com) 2014/10/21 在前几篇一博客<关于c++与jav ...
- PHP第六课 使用方法数组
学习要点: *使用主阵列功能的理解 *知道如何遍历 *了解超全局数组和使用的基本关系 数组 1.数组定义和遍历 2.数组函数 数组定义: $arr=array(1,2,3);//索引数组,下标全是数字 ...
- WebService它CXF注释错误(两)
WebService它CXF注解 1.详细报错例如以下 五月 04, 2014 11:24:12 下午 org.apache.cxf.wsdl.service.factory.ReflectionSe ...
- CSS_img标签usemap属性图片中选择区域加入超链接
例子: <IMG usemap="#Map" alt="" src="/images/banbian.jpg"> <map ...
- The Swift Programming Language-官方教程精译Swift(1)小试牛刀
通常来说,编程语言教程中的第一个程序应该在屏幕上打印“Hello, world”.在 Swift 中,可以用一行代码实现: println("hello, world") 如果你 ...
- java中string和int互相转化
1 怎样将字串 String 转换成整数 int? A. 有两个方法: 1). int i = Integer.parseInt([String]); 或 i = Integer.parseInt([ ...
- Linux 查看和删除进程
1. 在 LINUX 命令平台输入 1-2 个字符后按 Tab 键会自动补全后面的部分(前提是要有这个东西,例如在装了 tomcat 的前提下, 输入 tomcat 的 to 按 tab).2. ps ...