javascript实现淘宝幻灯片广告展示效果


Posted in Javascript onApril 27, 2015

本文实例讲述了javascript实现淘宝幻灯片广告展示效果的方法。分享给大家供大家参考。具体如下:

一、效果图如下:

javascript实现淘宝幻灯片广告展示效果

二、代码部分:

JS代码部分:

function getClass(oParent,name){ 
  var arr=[]; 
  var oBj=oParent.getElementsByTagName("*"); 
  for(var i=0;i<oBj.length;i++){ 
    if(oBj[i].className==name){ 
      arr.push(oBj[i]); 
    } 
  } 
  return arr; 
} 
function startmove(obj,json,fnEnd){ 
  var cur=0; 
  clearInterval(obj.timer); 
  obj.timer=setInterval(function(){ 
    var oStop=true; 
    for(var attr in json){ 
      if(attr=='opacity'){ 
        cur=Math.round(parseFloat(getStyle(obj,attr)*100)); 
      }else{ 
        cur=parseInt(getStyle(obj,attr)); 
      } 
      var speed=(json[attr]-cur)/10; 
      speed=speed>0?Math.ceil(speed):Math.floor(speed); 
      if(cur!=json[attr]){ 
        oStop=false; 
      } 
      if(attr=='opacity'){ 
        obj.style[attr]=(cur+speed)/100; 
        obj.style.filter="alpha(opacity:"+cur+speed+")"; 
      }else{ 
        obj.style[attr]=cur+speed+"px"; 
      } 
    } 
    if(oStop){ 
      clearInterval(obj.timer); 
      if(fnEnd)fnEnd(); 
    } 
  },30); 
 
}; 
function getStyle(obj,name){ 
  if(obj.currentStyle){ 
    return obj.currentStyle[name]; 
  }else{
    return getComputedStyle(obj,false)[name]; 
  }
};

CSS部分:

*{ margin: 0px; padding: 0px; } 
img{ 
border: none; width: 470px; height: 150px;
float: left;
} 
.pic_body li{
width: 470px; height: 150px;
float: left; z-index: 3001; } 
ul{
 list-style: none; position: absolute; top: 0px; left: 0px;
 width: 470px; height: 150px; background: yellow; z-index: 3000;
} 
#div1{ border: 1px solid black; width: 470px; height: 150px;
 position: relative; margin: 100px auto; padding: 0px;
 overflow: hidden;
} 
#div1 ol{ bottom: 10px; right: 10px; 
position: absolute; z-index: 9999; 
} 
ol li{ background: yellow; float: left; 
display: inline; margin-right: 3px; padding: 3px 4px;
position: relative; top: 0px; left: 0px;
font-family: arial; font-size: 12px;
cursor: pointer; filter: alpha(opacity:60); opacity: 0.6;
border: 1px solid black;
} 
.active{ background: yellow; font-weight: bolder;
padding: 4px 6px; filter: alpha(opacity:100); opacity: 1;
}

HTML部分:

<!DOCTYPE html> 
<html> 
<head lang="en"> 
  <meta charset="UTF-8"> 
  <title></title> 
  <link href="css.css" rel="stylesheet" type="text/css"> 
  <script src="myscript.js"></script> 
  <script> 
    window.onload=function() { 
      var now = 0; 
      var oDiv = document.getElementById('div1'); 
      var oOl = oDiv.getElementsByTagName('ol')[0]; 
      var oLi = oOl.getElementsByTagName('li'); 
      var oUl = getClass(oDiv, 'pic_body')[0]; 
      for(var i=0;i<oLi.length;i++){ 
        oLi[i].index=i; 
        oLi[i].onclick=function(){ 
          now=this.index; 
          tab(); 
        }; 
      } 
      function tab(){ 
        for(var i=0;i<oLi.length;i++){ 
          oLi[i].className=''; 
        } 
        oLi[now].className='active'; 
        startmove(oUl,{top:-150*now}); 
      }; 
      function next(){ 
        now++; 
        if(now==oLi.length){ 
          now=0; 
        } 
        tab(); 
      }; 
      var timer=setInterval(next,3000); 
      oUl.onmouseover=function(){ 
        clearInterval(timer); 
      }; 
      oUl.onmouseout=function(){ 
        timer=setInterval(next,3000); 
      }; 
    } 
  </script> 
</head> 
<body> 
<div id="div1"> 
  <ol> 
    <li class="active">1</li> 
    <li>2</li> 
    <li>3</li> 
    <li>4</li> 
    <li>5</li> 
  </ol> 
  <ul class="pic_body"> 
    <li><img src="image/1.jpg"></li> 
    <li><img src="image/2.jpg"></li> 
    <li><img src="image/3.jpg"></li> 
    <li><img src="image/4.jpg"></li> 
    <li><img src="image/5.jpg"></li> 
  </ul> 
</div> 
</body> 
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
求解开jscript.encode代码的asp函数
Feb 28 Javascript
juqery 学习之四 筛选查找
Nov 30 Javascript
js实现jquery的offset()方法实例
Jan 10 Javascript
js判断子窗体是否关闭的方法
Aug 11 Javascript
推荐三款日期选择插件(My97DatePicker、jquery.datepicker、Mobiscroll)
Apr 21 jQuery
全面解析vue中的数据双向绑定
May 10 Javascript
详解从angular-cli:1.0.0-beta.28.3升级到@angular/cli:1.0.0
May 22 Javascript
angularjs使用gulp-uglify压缩后执行报错的解决方法
Mar 07 Javascript
一篇文章介绍redux、react-redux、redux-saga总结
May 23 Javascript
原生js实现购物车
Sep 23 Javascript
OpenLayers3实现地图显示功能
Sep 25 Javascript
JS封装cavans多种滤镜组件
Feb 15 Javascript
jquery实现标签上移、下移、置顶
Apr 26 #Javascript
jquery ui resize 中border-box的bug修正
Apr 26 #Javascript
HTML+CSS+JS实现完美兼容各大浏览器的TABLE固定列
Apr 26 #Javascript
jquery获取节点名称
Apr 26 #Javascript
jQuery实现鼠标经过提示信息的地图热点效果
Apr 26 #Javascript
jquery插件qrcode在线生成二维码
Apr 26 #Javascript
javascript函数式编程实例分析
Apr 25 #Javascript
You might like
php使用preg_match()函数验证ip地址的方法
2017/01/07 PHP
PHP编程 SSO详细介绍及简单实例
2017/01/13 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
各种常用浏览器getBoundingClientRect的解析
2009/05/21 Javascript
用js实现的自定义的对话框的实现代码
2010/03/21 Javascript
关于jQuery参考实例 1.0 jQuery的哲学
2013/04/07 Javascript
js中apply方法的使用详细解析
2013/11/04 Javascript
用jquery模仿的a的title属性的例子
2014/10/22 Javascript
jquery实现在光标位置插入内容的方法
2015/02/05 Javascript
javascript异步编程代码书写规范Promise学习笔记
2015/02/11 Javascript
JavaScript实现的CRC32函数示例
2016/11/23 Javascript
Angular.JS判断复选框checkbox是否选中并实时显示
2016/11/30 Javascript
Vue中&quot;This dependency was not found&quot;问题的解决方法
2018/06/19 Javascript
深入理解nodejs搭建静态服务器(实现命令行)
2019/02/05 NodeJs
Vue解决echart在element的tab切换时显示不正确问题
2020/08/03 Javascript
JavaScript 如何计算文本的行数的实现
2020/09/14 Javascript
Vue 3自定义指令开发的相关总结
2021/01/29 Vue.js
[01:26]DOTA2荣耀之路2:iG,China
2018/05/24 DOTA
[50:34]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
对比Python中__getattr__和 __getattribute__获取属性的用法
2016/06/21 Python
python list元素为tuple时的排序方法
2018/04/18 Python
Python创建普通菜单示例【基于win32ui模块】
2018/05/09 Python
python中的字符串内部换行方法
2018/07/19 Python
详解pandas安装若干异常及解决方案总结
2019/01/10 Python
解决Pycharm调用Turtle时 窗口一闪而过的问题
2019/02/16 Python
python保存字典和读取字典的实例代码
2019/07/07 Python
python 消费 kafka 数据教程
2019/12/21 Python
通过实例解析python描述符原理作用
2020/01/22 Python
Spartoo瑞典:鞋子、包包和衣服
2018/09/15 全球购物
韩国最大的购物网站:Gmarket
2019/06/20 全球购物
西门豹教学反思
2014/02/04 职场文书
师范大学生求职信
2014/06/13 职场文书
社区爱国卫生月活动总结
2014/06/30 职场文书
销售内勤岗位职责范本
2015/04/13 职场文书
公文写作:工伤事故分析报告怎么写?
2019/11/05 职场文书
Redis特殊数据类型Geospatial地理空间
2022/06/01 Redis