无限循环轮播图之JS部分(原生JS)

JS逻辑与框架调用

 1 <script type="text/javascript">
 2         var oBox = document.getElementById(‘box‘);
 3         var oPrev = document.getElementById(‘prev‘);
 4         var oNext = document.getElementById(‘next‘);
 5         var oUl = oBox.children[0];
 6         var aLi = oUl.children;
 7         var aBtn = document.getElementById(‘btn‘).children;
 8
 9         aLi[0].style.left = 0;
10         var iNow = 0;
11         oNext.onclick = function(){
12             move(aLi[iNow],{left:-400});
13
14             iNow++;
15             if (iNow == aLi.length) {
16                 iNow = 0;
17             }
18             aLi[iNow].style.left = 400+‘px‘;
19             move(aLi[iNow],{left:0});
20
21             tab()
22         }
23
24         oPrev.onclick = function(){
25             move(aLi[iNow],{left:400})
26             iNow--;
27             if (iNow < 0) {
28                 iNow = aLi.length-1;
29             }
30             aLi[iNow].style.left = -400+‘px‘;
31             move(aLi[iNow],{left:0})
32
33             tab()
34         }
35
36         for(var i = 0 ;i < aBtn.length ; i++){
37             (function(index){
38                 aBtn[i].onclick    = function(){
39                     if (index == iNow) {
40                         return;
41                     }else if (index < iNow ) {
42                         move(aLi[iNow],{left:400});
43
44                         aLi[index].style.left = -400+‘px‘;
45                         move(aLi[index],{left:0})
46                     }else if (index > iNow) {
47                         move(aLi[iNow],{left:-400})
48                         aLi[index].style.left = 400+‘px‘;
49                         move(aLi[index],{left:0})
50                     }
51                     iNow = index
52                     tab();
53                 }
54             })(i);
55         }
56
57
58         function tab(){
59             for (var i = 0; i < aBtn.length; i++) {
60                 aBtn[i].className =‘‘;
61             }
62             aBtn[iNow].className = ‘on‘;
63         }
64     </script>
时间: 2024-09-30 21:00:43

无限循环轮播图之JS部分(原生JS)的相关文章

iOS: 无限循环轮播图简单封装

轮播图思路: 1.首先要有一个ScrollView和两张图片,把图片放到ScrollView上. 2.要想滚动ScrollView的宽度需设置屏宽的2倍. 3.循环滚动,当滚动到最后一张图片时,采用偏移的方法,将偏移量归零,回到第一张图片. 4.将第二张的图片上的所有值赋给第一张图片. 5.设置让它自己滚动,需添加定时器. 需要的第三方数据库:SDWebImage m.文件内: #imporst "ScrollView.h" @interface ScrollView ()<UI

无限循环轮播图之运动框架(原生JS)

封装运动框架 1 function getStyle(obj,name){ 2 if(obj.currentStyle){ 3 return obj.currentStyle[name]; 4 }else{ 5 return getComputedStyle(obj,false)[name]; 6 } 7 } 8 function move(obj,json,options){ 9 var options=options || {}; 10 var duration=options.durati

利用jQuery实现图片无限循环轮播(不借助于轮播插件)

原来我主要是用Bootstrap来实现轮播图的功能,而这次是用javaScript和jQuery来实现图片无限循环轮播! 用到的技术有:html.css.JavaScript(少).jQuery(主要) 效果展示: html代码: <body> <div id="container"><!-- left:-600px 表示:页面加载出现的第一张图片是1.jp --> <div id="list" style="le

JS-特效 ~ 01. 事件对象、offset偏移/检测、无缝滚动、自动循环轮播图

Math.round ( ) :正书四舍五入,负数五舍六入 用定时器,先清除定时器 事件对象 event event:事件被触动时,鼠标和键盘的状态,通过属性控制 Offset:偏移,检测 1. 获取元素尺寸 2. 检测盒子的宽高     事件源.offsetLeft. /. ele.offsetWidth /返回的数值没有单位,是number类型 /包括内边距.边框,不包括外边距 3. 获取定位的元素的left和top值  offsetLeft / offsetTop 如果被获取的元素没有定位

Android ViewPager实现循环轮播图

一.原理 ViewPager是Android中使用频率相对较高的view组件,同时对滑动过程中的事件进行了处理,因此非常适合轮播图.关于轮播图的实现,有很多方法,使用HorizontalView或者RecylerView也可以实现,但是需要处理fling操作,这里我们用ViewPager避免这些工作. 网上有很多关于ViewPager轮播的轮播实现,其原理大多数给PagerAdapter的getCount 放大N倍,N大于100,1000等.这里我们使用另一种思路,数据映射. 数据映射方案:假设

android-auto-scroll-view-pager (无限广告轮播图)

github 地址: https://github.com/Trinea/android-auto-scroll-view-pager Gradle: compile ('cn.trinea.android.view.autoscrollviewpager:android-auto-scroll-view-pager:1.1.2') { exclude module: 'support-v4' } -keep class cn.trinea.android.** { *; } -keepclas

JS 实现动态轮播图

JavaScript实现轮播图思路 + html/css + js源码 整个轮播图的效果是通过js代码,操作dom, 拿到html我们需要的元素,控制整个ul的距离浏览器左边的位置,让排好的图片依次出现在相框中,不在相框中的元素会被css中的 overflow : hidden 隐藏掉, 其次,图片是经过处理的 ,正好和我们的相关等宽等高! 动态的创建元素,下面我们会动态创建li,并通过css把它修饰成小按钮格式,其次给小按钮添加点击事件,鼠标经过,离开事件,动态的实现图片的移动, 其实就是根据

Html5如何快速在页面中写出多个轮播图效果

我们在做项目的过程中,有时候客户需求要求你在同一个页面中,写几个不同样式的轮播图效果,那么如何快速实现呢?(要知道若果你每个轮播图都要用原生javascript写的话,会很麻烦,代码也不够简洁) 这里我们就可以借助插件来实现这一功能,swiper.js就是一个专门处理轮播图效果的js库,下面举例来说明: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"&g

一步一步拆解一个简单的iOS轮播图(三图)

导言(可以不看): 不吹不黑,也许是东半球最简单的iOS轮播图拆分注释(讲解不敢当)了(tree new bee).(一句话包含两个人,你能猜到有谁吗?提示:一个在卖手机,一个最近在卖书)哈哈... 我第一次项目中需要使用轮播图的时候我是用的别人写好的一个轮子,那个轮播封装很多东西,包括比如可以设置pageControl的位置,可以传图片url或本地图片,缓存网络图片等等.但是我觉得没必要搞那么复杂,我喜欢简单并足够做事的东西.现在有时间便想自己把它拆解一下.看了一些简书上一些作者写的关于轮播图