Maison >interface Web >js tutoriel >Explication détaillée de la façon dont JavaScript implémente les effets publicitaires des produits Taobao

Explication détaillée de la façon dont JavaScript implémente les effets publicitaires des produits Taobao

黄舟
黄舟original
2017-08-11 10:48:201784parcourir

Cet article présente principalement en détail l'effet de la publicité des produits Taobao basée sur JavaScript. Il a une certaine valeur de référence. Les amis intéressés peuvent s'y référer

L'exemple de cet article partage avec tout le monde la mise en œuvre de Taobao en utilisant. JavaScript. Le code spécifique pour l'effet publicitaire du produit est pour votre référence. Le contenu spécifique est le suivant

Partie 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 }

. Partie HTML :


<p 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> 
 </p>

Partie JS :


window.onload = function(){ 
  var op = document.getElementById(&#39;ad&#39;); 
  var aUl = op.getElementsByTagName(&#39;ul&#39;); 
  var oImg = op.getElementsByTagName(&#39;img&#39;)[0]; 
  var aImg = [&#39;images/pic1.jpg&#39;,&#39;images/pic2.jpg&#39;,&#39;images/pic3.jpg&#39;,&#39;images/pic4.jpg&#39;,&#39;images/pic5.png&#39;,&#39;images/pic6.png&#39;,&#39;images/pic7.png&#39;,&#39;images/pic8.png&#39;,&#39;images/pic1.jpg&#39;,&#39;images/pic2.jpg&#39;,&#39;images/pic3.jpg&#39;,&#39;images/pic4.jpg&#39;,&#39;images/pic5.png&#39;,&#39;images/pic6.png&#39;]; 
  var aTxt = [&#39;连衣裙&#39;,&#39;T恤&#39;,&#39;雪纺&#39;,&#39;铅笔裤&#39;,&#39;婚纱&#39;,&#39;外套&#39;,&#39;连体裤&#39;,&#39;包包&#39;,&#39;凉鞋&#39;,&#39;单鞋&#39;,&#39;太阳镜&#39;,&#39;丝袜&#39;,&#39;帆布鞋&#39;,&#39;情侣鞋&#39;]; 
  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 += &#39;<li>&#39;+ aTxt[i] +&#39;</li>&#39; 
   aUl[1].innerHTML += &#39;<li>&#39;+ aTxt[i + len/2] +&#39;</li>&#39; 
  } 
 
  var aLiL = aUl[0].getElementsByTagName(&#39;li&#39;); 
  var aLiR = aUl[1].getElementsByTagName(&#39;li&#39;); 
  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 = &#39;&#39;; 
   arrLi[n].className = &#39;cur&#39;; 
   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); 
 
  // 鼠标移入,清除定时器 
  op.onmouseover = function(){ 
   clearInterval(timer); 
  }; 
 
  // 鼠标移出,开启定时器 
  op.onmouseout = function(){ 
   fnTimer(oldNum); 
  }; 
  };

Effet d'aperçu :

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn