最简单的轮播广告(原生JS)

改变每个图片的opacity属性:来自学友刘斌

素材图片:

  1 <!DOCTYPE html>
  2 <html lang="en">
  3 <head>
  4     <meta charset="UTF-8">
  5     <title>最简单的轮播广告</title>
  6     <style>
  7         body, div, ul, li {
  8             margin: 0;
  9             padding: 0;
 10         }
 11
 12         ul {
 13             list-style-type: none;
 14         }
 15
 16         body {
 17             background: #000;
 18             text-align: center;
 19             font: 12px/20px Arial;
 20         }
 21
 22         #box {
 23             position: relative;
 24             width: 492px;
 25             height: 172px;
 26             background: #fff;
 27             border-radius: 5px;
 28             border: 8px solid #fff;
 29             margin: 10px auto;
 30         }
 31
 32         #box .list {
 33             position: relative;
 34             width: 490px;
 35             height: 170px;
 36             overflow: hidden;
 37             border: 1px solid #ccc;
 38         }
 39
 40         #box .list li {
 41             position: absolute;
 42             top: 0;
 43             left: 0;
 44             width: 490px;
 45             height: 170px;
 46             opacity: 0;
 47             transition: opacity 0.5s linear
 48         }
 49
 50         #box .list li.current {
 51             opacity: 1;
 52         }
 53
 54         #box .count {
 55             position: absolute;
 56             right: 0;
 57             bottom: 5px;
 58         }
 59
 60         #box .count li {
 61             color: #fff;
 62             float: left;
 63             width: 20px;
 64             height: 20px;
 65             cursor: pointer;
 66             margin-right: 5px;
 67             overflow: hidden;
 68             background: #F90;
 69             opacity: 0.7;
 70             border-radius: 20px;
 71         }
 72
 73         #box .count li.current {
 74             color: #fff;
 75             opacity: 0.7;
 76             font-weight: 700;
 77             background: #f60
 78         }
 79     </style>
 80 </head>
 81 <body>
 82 <div id="box">
 83     <ul class="list">
 84         <li class="current" style="opacity: 1;"><img src="img/images04/01.jpg" width="490" height="170"></li>
 85         <li style="opacity: 0;"><img src="img/images04/02.jpg" width="490" height="170"></li>
 86         <li style="opacity: 0;"><img src="img/images04/03.jpg" width="490" height="170"></li>
 87         <li style="opacity: 0;"><img src="img/images04/04.jpg" width="490" height="170"></li>
 88         <li style="opacity: 0;"><img src="img/images04/05.jpg" width="490" height="170"></li>
 89     </ul>
 90     <ul class="count">
 91         <li class="current">1</li>
 92         <li class="">2</li>
 93         <li class="">3</li>
 94         <li class="">4</li>
 95         <li class="">5</li>
 96     </ul>
 97 </div>
 98
 99
100 <script>
101     var box=document.getElementById(‘box‘);
102     var uls=document.getElementsByTagName(‘ul‘);
103     var imgs=uls[0].getElementsByTagName(‘li‘);
104     var btn=uls[1].getElementsByTagName(‘li‘);
105     var i=index=0;  //中间量,统一声明;
106     var play=null;
107     console.log(box,uls,imgs,btn);//获取正确
108
109     //图片切换, 淡入淡出效果我是用(transition: opacity 0.8s linear)做的,不纠结、简单 在css里面
110     function show(a){               //方法定义的是当传入一个下标时,按钮和图片做出对的反应
111         for(i=0;i<btn.length;i++ ){
112             btn[i].className=‘‘;       //很容易看懂吧?每个按钮都先设置成看不见,然后把当前按钮设置成可见。
113             btn[a].className=‘current‘;
114         }
115         for(i=0;i<imgs.length;i++){  //把图片的效果设置和按钮相同
116             imgs[i].style.opacity=0;
117             imgs[a].style.opacity=1;
118         }
119     }
120     //切换按钮功能,响应对应图片
121     for(i=0;i<btn.length;i++){
122         btn[i].index=i;    //不知道你有没有发现,循环里的方法去调用循环里的变量体i,会出现调到的不是i的变动值的问题。所以我先在循环外保存住
123         btn[i].onmouseover=function(){
124             show(this.index);
125             clearInterval(play); //这就是最后那句话追加的功能
126         }
127     }
128
129     //自动轮播方法
130 function autoPlay(){
131             play=setInterval(function(){  //这个paly是为了保存定时器的,变量必须在全局声明 不然其他方法调不到 或者你可以调用auto.play 也许可以但是没时间试了
132             index++;
133             index>=imgs.length&&(index=0);//可能有优先级问题,所以用了括号,没时间测试了。
134             show(index);
135         },1000)
136     }
137     autoPlay();//马上调用,我试过用window.onload调用这个方法,但是调用之后影响到了其他方法,使用autoPlay所以只能这样调用了
138
139     //div的鼠标移入移出事件
140     box.onmouseover=function(){
141         clearInterval(play);
142     };
143     box.onmouseout=function(){
144         autoPlay();
145     };
146     //按钮下标也要加上相同的鼠标事件,不然图片停止了,定时器没停,会突然闪到很大的数字上。 貌似我可以直接追加到之前定义事件中。
147
148 </script>
149 </body>
150 </html>
时间: 2024-10-22 20:58:43

最简单的轮播广告(原生JS)的相关文章

Android之——史上最简单图片轮播广告效果实现

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/48049913 如今的Android开发需求越来越来多,实现效果越来越酷炫,很多Android APP都要实现PC网站上那样的图片轮播效果,那么,这些图片的轮播效果是如何实现的呢?下面,我就跟大家一起来实现这些酷炫的功能. 一.原理 首先,将这些要轮播的图片和一些文本分别放置在不同的数据集合中,程序启动的时候默认显示一组图片和文本数据,然后启动一个定时器,每隔一段时间便替换掉显示的

图片轮播(左右切换)--js原生和jquery实现

图片轮播(左右切换)--js原生和jquery实现 左右切换的做法基本步骤跟 上一篇文章  淡入淡出 类似,只不过修改了一些特定的部分 (1)首先是页面的结构部分 对于我这种左右切换式 1.首先是个外围部分(其实也就是最外边的整体wrapper) 2.接着就是你设置图片轮播的地方(也就是一个banner吧) 3.然后是一个图片组(可以用新的div 也可以直接使用 ul-->li形式) 4.然后是图片两端的左箭头和右箭头5.然后是一个透明背景层,放在图片底部 6.然后是一个图片描述info层,放在

淡入淡出js轮播广告

淡入淡出js轮播广告,写法类似自动播放的tab选项卡,加入了淡入淡出效果. js代码: function lunbo(contClass, numArr, normalClass, hoverClass){ function getElementsByClass(searchClass,node,tag) { var classElements = new Array(); if ( node == null ) node = document; if ( tag == null ) tag =

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/xhtml"> <head> <meta http-equiv="Content-

实现比较简单的轮播图效果

实现简单的轮播图效果. 废话不多说,我们开始. HTML和CSS较为简单,不在这里做赘述.简单的给大家一个HTML代码. <div class="carousel"> <div id="goLeft"></div> <ul> <li><img src="" /></li> <li><img src="" /></l

ViewPaper实现轮播广告条

使用V4包中的viewPaper组件自定义轮播广告条效果. 实现viewpaper的滑动切换和定时自动切换效果. 上效果图 布局文件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent&quo

JavaScript - 轮播广告实例

轮播广告 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> &

Android开发之ViewPager实现轮播图(轮播广告)效果的自定义View

最近开发中需要做一个类似京东首页那样的广告轮播效果,于是采用ViewPager自己自定义了一个轮播图效果的View. 主要原理就是利用定时任务器定时切换ViewPager的页面. 效果图如下: 主页面布局实现如下: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android&

JQuery实现简单的轮播图基本思路

demo点这里 需要达到的效果 常见的轮播图组件自动翻页,左右跳转按钮,下方是indexindex显示了当前图片位置,左右按钮就是更改当前位置第一个版本暂时不定义api了,写简单点 大概思路 用banner隐藏超出部分的图片imageList是inline要显示的话就float到标签位置 首先是html 从sublime换了webstorm,自带了emmet插件也就是可以这样写div.wrapper>div.banner>ul.imageList>(li>img)*4^img+im