js轮播图透明度切换(带上下页和底部圆点切换)


Posted in Javascript onApril 27, 2017

效果图:

js轮播图透明度切换(带上下页和底部圆点切换)

代码如下:

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title></title>
 <style type="text/css">
 *{
 margin:0;
 padding:0;
 border:none;
 }
 li{
 list-style: none;
 }
 #box{
 height:340px;
 width:790px;
 position: relative;
 margin:100px auto;

 }
 #box #list1{
 height:340px;
 width:790px;

 }
 #box #list1 li{
 font-size: 80px;
 line-height: 340px;
 text-align: center;
 height:340px;
 width:790px;
 position: absolute;
 left:0;
 top:0;
 opacity: 0;
 filter: alpha(opacity=0);
 }
 #box #list1 li img{
 height:340px;
 width:790px;
 }
 #shang,#xia{
 height:80px;
 width:50px;
 color:#212121;
 background: #ccc;
 font-size: 60px;
 font-weight: bold;
 line-height: 80px;
 text-align: center;
 position: absolute;
 top:130px;
 opacity: 0.8;
 filter: alpha(opacity=80);
 cursor: pointer;

 }
 #shang{
 left:0;
 }
 #xia{
 right:0;
 }
 #box #list2{
 height:20px;
 width:195px;
 position: absolute;
 left:297px;
 bottom:25px;
 opacity: 0.8;
 filter: alpha(opacity=80);

 }
 #box #list2 li{
 height:20px;
 width:20px;
 background: #ccc;
 border-radius: 50%;
 float: left;
 margin-right:5px;
 cursor: pointer;

 }

 #box #list2 li.active{
 background: black;
 }
 </style>

 <script type="text/javascript">
 onload = function(){
 var oBox = document.getElementById('box');
 var oLIst1 = document.getElementById('list1');
 var aLi1 = oLIst1.getElementsByTagName('li');
 var oLIst2 = document.getElementById('list2');
 var aLi2 = oLIst2.getElementsByTagName('li');
 var oShang = document.getElementById('shang');
 var oXia = document.getElementById('xia');
 aLi1[0].style.opacity = 1;
 aLi1[0].style.filter = 'alpha(opacity=100)';
 var size = aLi1.length;
 var i = 0;
 var timer = setInterval(function(){
 i ++;
 move();
 },2000);
 function move(){
 if(i >= size){
 i = 0
 }
 if(i < 0){
 i = size-1;
 }
 for(var j = 0; j < aLi1.length; j ++){
 if(j == i){
 animate(aLi1[j],{opacity:100});
 aLi2[j].className = 'active';
 }else{
 animate(aLi1[j],{opacity:0});
 aLi2[j].className = '';
 }
 }

 }
 //前一张
 oShang.onclick = function(e){
 var evt = e || event;
 evt.preventDefault();
 i --;
 move();
 }
 //后一张
 oXia.onclick = function(e){
 var evt = e || event;
 evt.preventDefault();
 i ++;
 move();
 }
 //下面的圆点
 for(var k = 0;k < aLi2.length; k ++){
 aLi2[k].index = k;
 aLi2[k].onmouseenter = function(){
 i = this.index;
 move();
 }
 }
 oBox.onmouseenter = function(){
 clearInterval(timer);
 }
 oBox.onmouseleave = function(){
 timer = setInterval(function(){
 i ++;
 move();
 },2000);
 }
 /*************************缓冲运动 可封装留着以后备用^_^*************************/

 function getStyleAttr(obj, attr){
 if (window.getComputedStyle){
 return getComputedStyle(obj, null)[attr]; 
 }
 else {
 return obj.currentStyle[attr]; 
 }
 }
 function animate(obj, json, fn){
 clearInterval(obj.timer); 
 obj.timer = setInterval(function(){
 var bStop = true; 
 for (var attr in json){
 var iTarget = json[attr]; 
 var current;
 if (attr == "opacity"){ 
 current = parseFloat(getStyleAttr(obj, attr))*100;
 current = Math.round(current);
 }
 else { 
 current = parseFloat(getStyleAttr(obj, attr));
 current = Math.round(current);
 }
 var speed = (iTarget-current)/8; (400-393)/8
 speed = speed>0 ? Math.ceil(speed) : Math.floor(speed);
 if (current != iTarget){
 bStop = false; 
 }
 if (attr == "opacity"){ 
 obj.style[attr] = (current+speed)/100;
 obj.style.filter = "alpha(opacity=" + (current+speed) + ")";
 }
 else { 
 obj.style[attr] = current+speed + "px";
 }
 }
 if (bStop){
 console.log("停止运动");
 clearInterval(obj.timer); 
 if (fn) {
 fn(); 
 }
 }
 }, 30);
 }
 }
 </script>
 </head>
 <body>
 <div id="box">
 <ul id="list1">
 <li style="background: red;">1</li>
 <li style="background: yellow;">2</li>
 <li style="background: green;">3</li>
 <li style="background: blue;">4</li>
 <li style="background: blueviolet;">5</li>
 <li style="background: brown;">6</li>
 <li style="background: orangered;">7</li>
 <li style="background: palevioletred;">8</li> 
 </ul>
 <ul id="list2">
 <li class="active"></li>
 <li></li>
 <li></li>
 <li></li>
 <li></li>
 <li></li>
 <li></li>
 <li style="margin-right:0px;"></li>
 </ul>
 <div id="shang">
 <
 </div>
 <div id="xia">
 >
 </div>
 </div>
 </body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
HTML中Select不用Disabled实现ReadOnly的效果
Apr 07 Javascript
理解Javascript_08_函数对象
Oct 15 Javascript
读jQuery之八 包装事件对象
Jun 21 Javascript
JavaScript中常见的字符串操作函数及用法汇总
May 04 Javascript
Backbone.js的一些使用技巧
Jul 01 Javascript
jQuery语法小结(超实用)
Dec 31 Javascript
AngularJS基础 ng-options 指令详解
Aug 02 Javascript
AngularJs bootstrap搭载前台框架——准备工作
Sep 01 Javascript
探索webpack模块及webpack3新特性
Sep 18 Javascript
JS实现多物体运动的方法详解
Jan 23 Javascript
基于jQuery实现无缝轮播与左右点击效果
May 13 jQuery
微信小程序修改swiper默认指示器样式的实例代码
Jul 18 Javascript
Angular.js中定时器循环的3种方法总结
Apr 27 #Javascript
浅谈js使用in和hasOwnProperty获取对象属性的区别
Apr 27 #Javascript
微信小程序 wx:for的使用实例详解
Apr 27 #Javascript
微信小程序 动态传参实例详解
Apr 27 #Javascript
微信小程序 本地数据读取实例
Apr 27 #Javascript
js模仿微信朋友圈计算时间显示几天/几小时/几分钟/几秒之前
Apr 27 #Javascript
js获取浏览器的各种属性
Apr 27 #Javascript
You might like
PHP 高手之路(三)
2006/10/09 PHP
坏狼php学习 计数器实例代码
2008/06/15 PHP
php Smarty 字符比较代码
2011/02/27 PHP
php使用strtotime和date函数判断日期是否有效代码分享
2013/12/25 PHP
在Linux系统的服务器上隐藏PHP版本号的方法
2015/06/06 PHP
PHP中Closure类的使用方法及详解
2015/10/09 PHP
浅析Yii2缓存的使用
2016/05/10 PHP
phpStudy中升级MySQL版本到5.7.17的方法步骤
2017/08/03 PHP
javascript 点击整页变灰的效果(可做退出效果)。
2008/01/09 Javascript
围观tangram js库
2010/12/28 Javascript
jquery js 重置表单 reset()具体实现代码
2013/08/05 Javascript
自己使用jquery写的一个无缝滚动的插件
2014/04/30 Javascript
JavaScript让网页出现渐隐渐显背景颜色的方法
2015/04/21 Javascript
angularjs中$http异步上传Excel文件方法
2018/02/23 Javascript
说说如何使用Vuex进行状态管理(小结)
2019/04/14 Javascript
vue实现移动端返回顶部
2020/10/12 Javascript
[01:31:03]DOTA2完美盛典全回顾 见证十五项大奖花落谁家
2017/11/28 DOTA
[01:13:51]TNC vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python基于windows平台锁定键盘输入的方法
2015/03/05 Python
Python 由字符串函数名得到对应的函数(实例讲解)
2017/08/10 Python
基于Django用户认证系统详解
2018/02/21 Python
python实现ip代理池功能示例
2019/07/05 Python
Python符号计算之实现函数极限的方法
2019/07/15 Python
Python图像处理库PIL的ImageEnhance模块使用介绍
2020/02/26 Python
使用Django搭建网站实现商品分页功能
2020/05/22 Python
filter使用python3代码进行迭代元素的实例详解
2020/12/03 Python
CSS3的first-child选择器实战攻略
2016/04/28 HTML / CSS
关于HTML5的22个初级技巧(图文教程)
2012/06/21 HTML / CSS
html5 视频播放解决方案
2016/11/06 HTML / CSS
AmazeUI中模态框的实现
2020/08/19 HTML / CSS
英国著名音像制品和图书游戏购物网站:Zavvi
2016/08/04 全球购物
优秀毕业生自我鉴定
2014/02/11 职场文书
群众路线教育实践活动学习笔记内容
2014/11/06 职场文书
《自己的花是让别人看的》教学反思
2016/02/19 职场文书
某药房的新员工入职告知书!
2019/07/15 职场文书
SQLServer之常用函数总结详解
2021/08/30 SQL Server