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的9个陷阱及评点分析
May 16 Javascript
js form action动态修改方法
Nov 04 Javascript
jquery validate.js表单验证的基本用法入门
May 13 Javascript
JavaScript学习点滴 call、apply的区别
Oct 22 Javascript
js性能优化技巧
Nov 29 Javascript
很全面的JavaScript常用功能汇总集合
Jan 22 Javascript
Angular2-primeNG文件上传模块FileUpload使用详解
Jan 14 Javascript
jQuery插件zTree实现获取一级节点数据的方法
Mar 08 Javascript
如何用JavaScript实现功能齐全的单链表详解
Feb 11 Javascript
JQuery特殊效果和链式调用操作示例
May 13 jQuery
vue如何使用async、await实现同步请求
Dec 09 Javascript
js实现验证码干扰(动态)
Feb 23 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 高手之路(三)
2006/10/09 PHP
php数组索引的Key加引号和不加引号的区别
2014/08/19 PHP
php格式化电话号码的方法
2015/04/24 PHP
保证JavaScript和Asp、Php等后端程序间传值编码统一
2009/04/17 Javascript
Javascript的闭包
2009/12/31 Javascript
javascript attachEvent绑定多个事件执行顺序问题
2010/10/20 Javascript
js根据给定的日期计算当月有多少天实现思路及代码
2013/02/25 Javascript
在jQuery中 关于json空对象筛选替换
2013/04/15 Javascript
js中对象的声明方式以及数组的一些用法示例
2013/12/11 Javascript
通过遮罩层实现浮层DIV登录的js代码
2014/02/07 Javascript
js实现表单Radio切换效果的方法
2015/08/17 Javascript
js本地图片预览实现代码
2016/10/09 Javascript
利用D3.js实现最简单的柱状图示例代码
2016/12/09 Javascript
Vue.js 插件开发详解
2017/03/29 Javascript
微信小程序http连接访问解决方案的示例
2018/11/05 Javascript
antd vue 刷新保留当前页面路由,保留选中菜单,保留menu选中操作
2020/08/06 Javascript
Javascript基于OOP实实现探测器功能代码实例
2020/08/26 Javascript
详解Python中的join()函数的用法
2015/04/07 Python
在Gnumeric下使用Python脚本操作表格的教程
2015/04/14 Python
整理Python 常用string函数(收藏)
2016/05/30 Python
python中日志logging模块的性能及多进程详解
2017/07/18 Python
详解Django的CSRF认证实现
2018/10/09 Python
python实现二维插值的三维显示
2018/12/17 Python
执行Django数据迁移时报 1091错误及解决方法
2019/10/14 Python
pandas 对group进行聚合的例子
2019/12/27 Python
推荐8款常用的Python GUI图形界面开发框架
2020/02/23 Python
python将logging模块封装成单独模块并实现动态切换Level方式
2020/05/12 Python
5分钟弄清楚html5的drag and drop(小结)
2019/04/10 HTML / CSS
中间件的定义
2016/08/09 面试题
英语感恩演讲稿
2014/01/14 职场文书
管理标语大全
2014/06/24 职场文书
中学生运动会通讯稿大全
2014/09/18 职场文书
书法社团活动总结
2015/05/07 职场文书
简单实现一个手持弹幕功能+文字抖动特效
2021/03/31 HTML / CSS
pyqt5蒙版遮罩mask,setmask的使用
2021/06/11 Python
铁头也玩根德 YachtBoy YB-230......
2022/04/05 无线电