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 相关文章推荐
javascript算法学习(直接插入排序)
Apr 12 Javascript
在IE 浏览器中使用 jquery的fadeIn() 效果 英文字符字体加粗
Jun 02 Javascript
jQuery代码优化 事件委托篇
Nov 01 Javascript
jquery 元素控制(追加元素/追加内容)介绍及应用
Apr 21 Javascript
从jquery的过滤器.filter()方法想到的
Sep 29 Javascript
可自定义速度的js图片无缝滚动示例分享
Jan 20 Javascript
JS实现的5级联动Select下拉选择框实例
Aug 17 Javascript
JS实现DIV容器赋值的方法
Dec 14 Javascript
JavaScript mixin实现多继承的方法详解
Mar 30 Javascript
JavaScript字符串_动力节点Java学院整理
Jun 27 Javascript
实用的Vue开发技巧
May 30 Javascript
React中使用UMEditor的方法示例
Dec 27 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
2020最新CPU的性能排名
2020/04/02 数码科技
php下清空字符串中的HTML标签的代码
2010/09/06 PHP
php使用百度翻译api示例分享
2014/01/31 PHP
C#使用PHP服务端的Web Service通信实例
2014/04/08 PHP
PHP图片处理之使用imagecopy函数添加图片水印实例
2014/11/19 PHP
PHP集成环境XAMPP的安装与配置
2018/11/13 PHP
Laravel6.18.19如何优雅的切换发件账户
2020/06/14 PHP
JavaScript继承方式实例
2010/10/29 Javascript
jQuery实现每隔几条元素增加1条线的方法
2016/06/27 Javascript
探究Vue.js 2.0新增的虚拟DOM
2016/10/20 Javascript
vue的状态管理模式vuex
2017/11/30 Javascript
node.js实现为PDF添加水印的示例代码
2018/12/05 Javascript
关于微信公众号开发无法支付的问题解决
2018/12/28 Javascript
React如何实现浏览器打印部分内容详析
2019/05/19 Javascript
javascript执行上下文、变量对象实例分析
2020/04/25 Javascript
vscode 使用Prettier插件格式化配置使用代码详解
2020/08/10 Javascript
[24:42]VP vs TNC Supermajor小组赛B组 BO3 第三场 6.2
2018/06/03 DOTA
Tensorflow简单验证码识别应用
2017/05/25 Python
Python编程之列表操作实例详解【创建、使用、更新、删除】
2017/07/22 Python
TensorFlow高效读取数据的方法示例
2018/02/06 Python
Django配置celery(非djcelery)执行异步任务和定时任务
2018/07/16 Python
Django REST framework视图的用法
2019/01/16 Python
python3.6根据m3u8下载mp4视频
2019/06/17 Python
django-rest-framework 自定义swagger过程详解
2019/07/18 Python
详解python pandas 分组统计的方法
2019/07/30 Python
浅谈tensorflow模型保存为pb的各种姿势
2020/05/25 Python
浅谈css3中的渐进增强和优雅降级
2017/12/01 HTML / CSS
萌新HTML5 入门指南(二)
2020/11/09 HTML / CSS
LN-CC美国:伦敦时尚生活的缩影
2019/02/19 全球购物
将n个数按输入顺序的逆序排列,用函数实现
2012/11/14 面试题
请解释流与文件有什么不同
2016/07/29 面试题
班组长竞聘书
2014/03/31 职场文书
学风建设演讲稿
2014/09/12 职场文书
微观世界观后感
2015/06/10 职场文书
zabbix自定义监控nginx状态实现过程
2021/11/01 Servers
Html5获取用户当前位置的几种方式
2022/01/18 HTML / CSS