基于JavaScript实现淘宝商品广告效果


Posted in Javascript onAugust 10, 2017

本文实例为大家分享了JavaScript实现淘宝商品广告效果的具体代码,供大家参考,具体内容如下

CSS部分:

ul{ margin: 0; padding: 0; } 
  li{ list-style: none; } 
 
  #ad{ width: 298px; height: 208px; border: 1px #ff6300 solid; padding: 4px 1px; text-align: center; } 
  #ad .listL{ float: left; } 
  #ad .listR{ float: right; } 
  #ad li{ width: 48px; height: 26px; border: 1px #ffadad solid; background: #fff7f7; color: #333; line-height: 26px; margin-bottom: 2px; cursor: pointer; } 
  #ad img{ height: 206px; width: 188px; background: url(images/loader_ico.gif) no-repeat center center; } 
  #ad .cur{ background: #ff8494; color: #fff }

HTML部分:

<div id="ad"> 
  <ul class="listL"> 
   <!-- <li class="cur"></li> 
   <li></li> 
   <li></li> 
   <li></li> 
   <li></li> 
   <li></li> 
   <li></li> --> 
  </ul> 
  <a href="#"><img src="" alt=""></a> 
  <ul class="listR"> 
   <!-- <li></li> 
   <li></li> 
   <li></li> 
   <li></li> 
   <li></li> 
   <li></li> 
   <li></li> --> 
  </ul> 
 </div>

JS部分:

window.onload = function(){ 
  var oDiv = document.getElementById('ad'); 
  var aUl = oDiv.getElementsByTagName('ul'); 
  var oImg = oDiv.getElementsByTagName('img')[0]; 
  var aImg = ['images/pic1.jpg','images/pic2.jpg','images/pic3.jpg','images/pic4.jpg','images/pic5.png','images/pic6.png','images/pic7.png','images/pic8.png','images/pic1.jpg','images/pic2.jpg','images/pic3.jpg','images/pic4.jpg','images/pic5.png','images/pic6.png']; 
  var aTxt = ['连衣裙','T恤','雪纺','铅笔裤','婚纱','外套','连体裤','包包','凉鞋','单鞋','太阳镜','丝袜','帆布鞋','情侣鞋']; 
  var len = aImg.length; 
  var oldNum = 0; 
  var num = 0; 
  var timer = null; 
  var speed = 1; 
 
  // 创建添加左右两侧li 
  for( var i = 0; i < len/2; i++){ 
   aUl[0].innerHTML += '<li>'+ aTxt[i] +'</li>' 
   aUl[1].innerHTML += '<li>'+ aTxt[i + len/2] +'</li>' 
  } 
 
  var aLiL = aUl[0].getElementsByTagName('li'); 
  var aLiR = aUl[1].getElementsByTagName('li'); 
  var arrLi = []; 
  // 将遍历的所有li添加到数组arrLi中 
  for( var i = 0; i < aLiL.length; i++){ 
   arrLi.push(aLiL[i]); 
  } 
  for( var i = 0; i < aLiR.length; i++){ 
   arrLi.push(aLiR[i]); 
  } 
  // console.log(arrLi.length); 
 
  // 函数初始化 
  function init(n){ 
   oImg.src = aImg[n]; 
   arrLi[oldNum].className = ''; 
   arrLi[n].className = 'cur'; 
   oldNum = n; 
  } 
  init(0); 
 
  // 鼠标经过li,图片切换 
  for(var i = 0; i < len; i++){ 
   arrLi[i].index = i; 
   arrLi[i].onmouseover = function(){ 
    init(this.index); 
   } 
  }; 
 
  // 定时切换 
  function fnTimer(n){ 
   timer = setInterval(function(){ 
     
    // type1:顺序切换 
    /* n ++; 
    if(n == len){ 
     n = 0; 
    }*/ 
 
    // type2:倒序切换 
    if(n == len-1){ 
     speed = -1; 
    }else if(n== 0){ 
     speed = 1; 
    } 
    n += speed; 
    init(n); 
   },1000); 
  }; 
  fnTimer(0); 
 
  // 鼠标移入,清除定时器 
  oDiv.onmouseover = function(){ 
   clearInterval(timer); 
  }; 
 
  // 鼠标移出,开启定时器 
  oDiv.onmouseout = function(){ 
   fnTimer(oldNum); 
  }; 
  };

预览效果:

基于JavaScript实现淘宝商品广告效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
一个javascript图片阅览组件
Nov 09 Javascript
JQuery调webservice实现邮箱验证(检测是否可用)
May 21 Javascript
JavaScript框架(iframe)操作总结
Apr 16 Javascript
Extjs grid panel自带滚动条失效的解决方法
Sep 11 Javascript
jquery滚动到顶部底部代码
Apr 20 Javascript
浅谈JavaScript异常处理语句
Jun 26 Javascript
浅谈JS验证表单文本域输入空格的问题
Feb 14 Javascript
使用vue.js实现checkbox的全选和多个的删除功能
Feb 17 Javascript
vue+vuex+axio从后台获取数据存入vuex实现组件之间共享数据
Apr 22 Javascript
微信小程序tabbar不显示解决办法
Jun 08 Javascript
解决html-jquery/js引用外部图片时遇到看不了或出现403的问题
Sep 22 jQuery
基于express中路由规则及获取请求参数的方法
Mar 12 Javascript
Vue数组更新及过滤排序功能
Aug 10 #Javascript
Webpack性能优化 DLL 用法详解
Aug 10 #Javascript
详解React Native网络请求fetch简单封装
Aug 10 #Javascript
jQuery Ajax 实现分页 kkpager插件实例代码
Aug 10 #jQuery
JS对象与JSON互转换、New Function()、 forEach()、DOM事件流等js开发基础小结
Aug 10 #Javascript
jquery.uploadView 实现图片预览上传功能
Aug 10 #jQuery
express框架实现基于Websocket建立的简易聊天室
Aug 10 #Javascript
You might like
解析php中eclipse 用空格替换 tab键
2013/06/24 PHP
php中ltrim()、rtrim()与trim()删除字符空格实例
2014/11/25 PHP
php时间计算相关问题小结
2016/05/09 PHP
PHP生成静态HTML文档实现代码
2016/06/23 PHP
php修改数组键名的方法示例
2017/04/15 PHP
YII2.0框架行为(Behavior)深入详解
2019/07/26 PHP
javascript 函数式编程
2007/08/16 Javascript
我的Node.js学习之路(二)NPM模块管理
2014/07/06 Javascript
js实现将选中值累加到文本框的方法
2015/08/12 Javascript
url传递的参数值中包含&amp;时,url自动截断问题的解决方法
2016/08/02 Javascript
vue 中自定义指令改变data中的值
2017/06/02 Javascript
vue2.0 常用的 UI 库实例讲解
2017/12/12 Javascript
前端axios下载excel文件(二进制)的处理方法
2018/07/31 Javascript
原生JS生成指定位数的验证码
2020/10/28 Javascript
JavaScript实现随机点名小程序
2020/10/29 Javascript
[50:29]2014 DOTA2华西杯精英邀请赛 5 24 DK VS iG
2014/05/26 DOTA
Python中实现参数类型检查的简单方法
2015/04/21 Python
老生常谈python之鸭子类和多态
2017/06/13 Python
Python自动化运维_文件内容差异对比分析
2017/12/13 Python
python3中获取文件当前绝对路径的两种方法
2018/04/26 Python
解决Python安装后pip不能用的问题
2018/06/12 Python
Numpy之random函数使用学习
2019/01/29 Python
Python 编程速成(推荐)
2019/04/15 Python
在django中图片上传的格式校验及大小方法
2019/07/28 Python
零基础小白多久能学会python
2020/06/22 Python
python之语音识别speech模块
2020/09/09 Python
如何使用pycharm连接Databricks的步骤详解
2020/09/23 Python
Pandas的数据过滤实现
2021/01/15 Python
HTML5中的nav标签学习笔记
2016/06/24 HTML / CSS
蒂芙尼澳大利亚官方网站:Tiffany&Co. Australia
2017/08/27 全球购物
沙特阿拉伯电子产品和家用电器购物网站:Black Box
2019/07/24 全球购物
.net软件工程师面试题
2015/03/31 面试题
设计顾问服务计划书
2014/05/04 职场文书
法定代表人资格证明书
2014/09/11 职场文书
vue打包时去掉所有的console.log
2022/04/10 Vue.js
Valheim服务器 Mod修改安装教程 【ValheimPlus】
2022/12/24 Servers