<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      仿淘寶首頁圖片切換

       

       

       

      資料來源:http://www.rzrgm.cn/cloudgamer/archive/2008/07/06/SlideTrans.html?page=2#pagedcomment

       

      效果展示:

      測試環境:IE8 (待續)

       

      程序代碼:

       

      代碼
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
      <title>仿淘寶首頁圖片切換</title>
      <style type="text/css">
      .container ul, .container li
      {
      list-style
      : none;
      margin
      : 0;
      padding
      : 0;
      }
      .container, .container img
      {
      width
      : 470px;
      height
      : 150px;
      }
      .load
      {
      /*此處background-position:50% 50% 似乎不作用(限blog頁面)*/
      background
      : url(http://img02.taobaocdn.com/tps/i2/T16WJqXaXeXXXXXXXX-32-32.gif) #ebf5fa no-repeat 225px 55px;
      width
      : 470px;
      height
      : 150px;
      overflow
      : hidden;
      }
      .container img
      {
      border
      : 0;
      vertical-align
      : top;
      }
      .num
      {
      position
      : absolute;
      right
      : 5px;
      bottom
      : 5px;
      font
      : 12px/1.5 tahoma, arial;
      height
      : 18px;
      }
      .num li
      {
      float
      : left;
      color
      : #d94b01;
      text-align
      : center;
      line-height
      : 16px;
      width
      : 16px;
      height
      : 16px;
      font-family
      : Arial;
      font-size
      : 11px;
      cursor
      : pointer;
      margin-left
      : 3px;
      border
      : 1px solid #f47500;
      background-color
      : #fcf2cf;
      }
      .num li.on
      {
      line-height
      : 18px;
      width
      : 18px;
      height
      : 18px;
      font-size
      : 14px;
      margin-top
      : -2px;
      background-color
      : #ff9415;
      font-weight
      : bold;
      color
      : #FFF;
      }
      </style>
      <script type="text/javascript">

      var $$ = function (id) {
      return "string" == typeof id ? document.getElementById(id) : id;
      };

      var Extend = function (destination, source) {
      for (var property in source) {
      destination[property]
      = source[property];
      }
      return destination;
      }

      var CurrentStyle = function (element) {
      return element.currentStyle || document.defaultView.getComputedStyle(element, null);
      }

      var Bind = function (object, fun) {
      var args = Array.prototype.slice.call(arguments).slice(2);
      return function () {
      return fun.apply(object, args.concat(Array.prototype.slice.call(arguments)));
      }
      }

      var forEach = function (array, callback, thisObject) {
      if (array.forEach) {
      array.forEach(callback, thisObject);
      }
      else {
      for (var i = 0, len = array.length; i < len; i++) { callback.call(thisObject, array[i], i, array); }
      }
      }

      var Tween = {
      Quart: {
      easeOut:
      function (t, b, c, d) {
      return -c * ((t = t / d - 1) * t * t * t - 1) + b;
      }
      },
      Back: {
      easeOut:
      function (t, b, c, d, s) {
      if (s == undefined) s = 1.70158;
      return c * ((t = t / d - 1) * t * ((s + 1) * t + s) + 1) + b;
      }
      },
      Bounce: {
      easeOut:
      function (t, b, c, d) {
      if ((t /= d) < (1 / 2.75)) {
      return c * (7.5625 * t * t) + b;
      }
      else if (t < (2 / 2.75)) {
      return c * (7.5625 * (t -= (1.5 / 2.75)) * t + .75) + b;
      }
      else if (t < (2.5 / 2.75)) {
      return c * (7.5625 * (t -= (2.25 / 2.75)) * t + .9375) + b;
      }
      else {
      return c * (7.5625 * (t -= (2.625 / 2.75)) * t + .984375) + b;
      }
      }
      }
      }


      //容器對象,滑動對象,切換數量
      var SlideTrans = function (container, slider, count, options) {
      this._slider = $$(slider);
      this._container = $$(container); //容器對象
      this._timer = null; //定時器
      this._count = Math.abs(count); //切換數量
      this._target = 0; //目標值
      this._t = this._b = this._c = 0; //tween參數

      this.Index = 0; //當前索引

      this.SetOptions(options);

      this.Auto = !!this.options.Auto;
      this.Duration = Math.abs(this.options.Duration);
      this.Time = Math.abs(this.options.Time);
      this.Pause = Math.abs(this.options.Pause);
      this.Tween = this.options.Tween;
      this.onStart = this.options.onStart;
      this.onFinish = this.options.onFinish;

      var bVertical = !!this.options.Vertical;
      this._css = bVertical ? "top" : "left"; //方向

      //樣式設置
      var p = CurrentStyle(this._container).position;
      p
      == "relative" || p == "absolute" || (this._container.style.position = "relative");
      this._container.style.overflow = "hidden";
      this._slider.style.position = "absolute";

      this.Change = this.options.Change ? this.options.Change :this._slider[bVertical ? "offsetHeight" : "offsetWidth"] / this._count;
      };
      SlideTrans.prototype
      = {
      //設置默認屬性
      SetOptions: function (options) {
      this.options = {//默認值
      Vertical: true, //是否垂直方向(方向不能改)
      Auto: true, //是否自動
      Change: 0, //改變量
      Duration: 30, //滑動持續時間
      Time: 10, //滑動延時
      Pause: 3000, //停頓時間(Auto為true時有效)
      onStart: function () { }, //開始轉換時執行
      onFinish: function () { }, //完成轉換時執行
      Tween: Tween.Quart.easeOut//tween算子
      };
      Extend(
      this.options, options || {});
      },
      //開始切換
      Run: function (index) {
      //修正index
      index == undefined && (index = this.Index);
      index
      < 0 && (index = this._count - 1) || index >= this._count && (index = 0);
      //設置參數
      this._target = -Math.abs(this.Change) * (this.Index = index);
      this._t = 0;
      this._b = parseInt(CurrentStyle(this._slider)[this.options.Vertical ? "top" : "left"]);
      this._c = this._target - this._b;

      this.onStart();
      this.Move();
      },
      //移動
      Move: function () {
      clearTimeout(
      this._timer);
      //未到達目標繼續移動否則進行下一次滑動
      if (this._c && this._t < this.Duration) {
      this.MoveTo(Math.round(this.Tween(this._t++, this._b, this._c, this.Duration)));
      this._timer = setTimeout(Bind(this, this.Move), this.Time);
      }
      else {
      this.MoveTo(this._target);
      this.Auto && (this._timer = setTimeout(Bind(this, this.Next), this.Pause));
      }
      },
      //移動到
      MoveTo: function (i) {
      this._slider.style[this._css] = i + "px";
      },
      //下一個
      Next: function () {
      this.Run(++this.Index);
      },
      //上一個
      Previous: function () {
      this.Run(--this.Index);
      },
      //停止
      Stop: function () {
      clearTimeout(
      this._timer); this.MoveTo(this._target);
      }
      };
      </script>
      </head>
      <body>
      <div class="container load" id="idContainer">
      <ul id="idSlider">
      <li><a href="#">
      <img src="http://img08.taobaocdn.com/tps/i8/T1_mxCXhBGXXXXXXXX-470-150.jpg" alt="" />
      </a></li>
      <li><a href="#">
      <img src="http://img.alimama.cn/bcrm/adboard/picture/2010-06-10/100610131313970.gif" alt="" />
      </a></li>
      <li><a href="#">
      <img src="http://img.alimama.cn/bcrm/adboard/picture/2010-06-11/100611120247446.jpg" alt="" />
      </a></li>
      <li><a href="#">
      <img src="http://img.alimama.cn/bcrm/adboard/picture/2010-06-11/100611112912364.jpg" alt="" />
      </a></li>
      <li><a href="#">
      <img src="http://img01.taobaocdn.com/tps/i1/T1KpNDXmBaXXXXXXXX-470-150.gif" alt="" />
      </a></li>
      </ul>
      <ul class="num" id="idNum">
      </ul>
      </div>
      <script type="text/javascript">

      var nums = [], timer, n = $$("idSlider").getElementsByTagName("li").length,

      st
      = new SlideTrans("idContainer", "idSlider", n, {
      onStart:
      function () {//設置按鈕樣式
      forEach(nums, function (o, i) {
      o.className
      = st.Index == i ? "on" : "";
      })
      }
      });

      for (var i = 1; i <= n; AddNum(i++)) {
      };
      function AddNum(i) {
      var num = $$("idNum").appendChild(document.createElement("li"));
      num.innerHTML
      = i--;
      num.onmouseover
      = function () {
      timer
      = setTimeout(function () { num.className = "on"; st.Auto = false; st.Run(i); }, 200);
      }
      num.onmouseout
      = function () { clearTimeout(timer); num.className = ""; st.Auto = true; st.Run(); }
      nums[i]
      = num;
      }
      st.Run();
      </script>
      </body>
      </html>

       

      源代碼下載

      posted @ 2010-06-12 15:09  ued  閱讀(1073)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产成人剧情AV麻豆果冻| 国产一级区二级区三级区| 国产短视频一区二区三区| 熟女亚洲综合精品伊人久久| 99久久99久久精品免费看蜜桃| 无码国模国产在线观看免费| 久热天堂在线视频精品伊人| 成人国产精品免费网站| 高清不卡一区二区三区| 亚洲av一区二区在线看| 2018av天堂在线视频精品观看| 被黑人巨大一区二区三区| 日韩中文字幕国产精品| 亚洲夜色噜噜av在线观看| 成人动漫在线观看| 午夜通通国产精品福利| 性中国videossexo另类| 国产乱码日韩亚洲精品成人| 国产成人无码A区在线观| 精品无码人妻一区二区三区| 国产成人无码免费看片软件 | 亚洲成A人片在线观看的电影| 最新中文字幕国产精品| 国产精品沙发午睡系列990531| 海南省| 亚洲最大天堂在线看视频| 久久99国内精品自在现线| 色吊丝永久性观看网站| 国产福利微视频一区二区| 噜噜综合亚洲av中文无码| 国产三级黄色的在线观看| 免费无码一区二区三区蜜桃大| 国产成人午夜福利精品| 亚洲午夜av一区二区| 激情综合网五月婷婷| 国产玖玖玖玖精品电影| 大地资源免费视频观看| 闵行区| 免费无码成人AV片在线| 乱码中文字幕| 波多野结衣在线精品视频|