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 相关文章推荐
jQuery 相关控件的事件操作分解
Aug 03 Javascript
jquery 文本上下无缝滚动,鼠标放上去就停止 小例子
Jun 05 Javascript
window.open()实现post传递参数
Mar 12 Javascript
用javascript实现自动输出网页文本
Jul 30 Javascript
jQuery实现TAB风格的全国省份城市滑动切换效果代码
Aug 24 Javascript
JS返回顶部实例代码
Aug 09 Javascript
react中使用swiper的具体方法
May 15 Javascript
node.js中TCP Socket多进程间的消息推送示例详解
Jul 10 Javascript
Vue异步组件处理路由组件加载状态的解决方案
Sep 07 Javascript
了解前端理论:rscss和rsjs
May 23 Javascript
关于vue3默认把所有onSomething当作v-on事件绑定的思考
May 15 Javascript
vue-quill-editor的使用及个性化定制操作
Aug 04 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二维数组用键名分组相加实例函数
2013/11/06 PHP
PHP中一些可以替代正则表达式函数的字符串操作函数
2014/11/17 PHP
php遍历目录方法小结
2015/03/10 PHP
PHP curl伪造IP地址和header信息代码实例
2015/04/27 PHP
php适配器模式简单应用示例
2019/10/23 PHP
IE autocomplete internet explorer's autocomplete
2007/06/30 Javascript
兼容主流浏览器的jQuery+CSS 实现遮罩层的简单代码
2014/10/14 Javascript
Bootstrap布局组件应用实例讲解
2016/02/17 Javascript
Javascript删除指定元素节点的方法
2016/06/21 Javascript
jQuery+CSS3文字跑马灯特效的简单实现
2016/06/25 Javascript
Wireshark基本介绍和学习TCP三次握手
2016/08/15 Javascript
ES6使用let命令更简单的实现块级作用域实例分析
2017/03/31 Javascript
vue-cli 3.0 自定义vue.config.js文件,多页构建的方法
2018/09/19 Javascript
vue实现简单跑马灯效果
2020/05/25 Javascript
深入理解Python 代码优化详解
2014/10/27 Python
python 性能优化方法小结
2017/03/31 Python
Linux(Redhat)安装python3.6虚拟环境(推荐)
2018/05/05 Python
Python脚本修改阿里云的访问控制列表的方法
2019/03/08 Python
Python实现文件压缩和解压的示例代码
2020/08/12 Python
Net Remoting把服务器端激活两种模式
2014/01/22 面试题
什么是.net的Remoting技术
2016/07/08 面试题
怎样有效的进行自我评价
2013/10/06 职场文书
信息专业毕业生五年职业规划参考
2014/02/06 职场文书
报关员个人职业生涯规划书
2014/03/12 职场文书
公司捐款倡议书
2014/05/14 职场文书
房地产资料员岗位职责
2014/07/02 职场文书
2015年党建工作目标责任书
2015/05/08 职场文书
2015年教导处教学工作总结
2015/07/22 职场文书
大学生创业计划书常用模板
2019/08/07 职场文书
导游词之上海杜莎夫人蜡像馆
2019/11/22 职场文书
红灯733-1型14管5波段半导体收音机
2021/04/22 无线电
Pytest中skip和skipif的具体使用方法
2021/06/30 Python
Java日常练习题,每天进步一点点(38)
2021/07/26 Java/Android
mysql中varchar类型的日期进行比较、排序等操作的实现
2021/11/17 MySQL
世界无敌的ICOM IC-R9500宽频接收机
2022/03/25 无线电
TV动画《史上最强大魔王转生为村民A》番宣CM公布
2022/04/01 日漫