一个仿腾讯娱乐频道焦点图轮播的插件

ui3g.js

复制代码 代码如下:
/*
顶部大图滚动
*/
var slide = (function() {
    var quadEaseOut;
    var doc = document;
    var $ = function(s){
        return document.getElementById(s);
    }
    /**
     获取索引值,工具类
     @param {Element} current 当前元素
     @param {Object} obj 元素集合
    **/
    var getIndex = function(current, obj) {
        for (var i=0; i<obj.length; i++) {
            if (obj[i] == current) {
                return i;
            }
        }
    };
    /**
     @param {Element} el 目标元素
    **/
    var siblings = function(el) {
        var r = [],
            n = el.parentNode.firstChild;
        for ( ; n; n = n.nextSibling ) {
            if ( n.nodeType === 1 && n !== el ) {
                r.push( n );
            }
        }
        return r;
    };
    /**
     设置 Slide 宽高
     @param {Element} el Slide 元素
     @param {Number} width Slide 宽度
     @param {Number} height Slide 高度
    **/
    var setSlideWH = function(el, width, height) {
        var styleW,
            styleH;
        if (width == '100%') {      // 自适应宽度
            styleW = '100%';
        } else {                    // 定宽
            styleW = width + 'px';
        }
        if (height == '100%') {     // 自适应高度
            styleH = '100%';
        } else {                    // 定高
            styleH = height + 'px';
        }
        el.style.width = styleW;
        el.style.height = styleH;
    };
    var readStyle = function(obj, name){
        if(obj.style[name]){
            return obj.style[name];
        }else if(obj.currentStyle){
            return obj.currentStyle[name]
        }else if(document.defaultView && document.defaultView.getComputedStyle){
            var d=document.defaultView.getComputedStyle(obj,null);
            return d.getPropertyValue(name)
        }else{
            return null
        }
    };
    var style = {
        setOpacity : function(obj,opacity){
            if(typeof(obj.style.opacity) != 'undefined'){
                obj.style.opacity = opacity;
            }else{
                obj.style.filter = 'Alpha(Opacity=' + (opacity*100) + ')';
            };
        }
    };
    /* 动画 */
    var extend = {
        /**
         渐显元素
         @param {Element} target 目标元素
        **/
        fadeIn : function(obj,time){
            if(readStyle(obj, 'display') == 'none'){
                obj.style.display = 'block';
            };
            style.setOpacity(obj,0);
            time = time || 200;
            var opacity = 0,step = time / 20;
            clearTimeout(obj.showT);
            obj.showT = setTimeout(function(){
                if(opacity >= 1) { style.setOpacity(obj,1); return; }
                opacity +=1/step;
                style.setOpacity(obj,opacity);
                obj.showT = setTimeout(arguments.callee,20);
            },20);
        },
        /**
         渐隐元素
         @param {Element} target 目标元素
        **/
        fadeOut : function(obj,time){
            time = time || 200;
            style.setOpacity(obj,1);
            var opacity = 1,step = time / 20;
            clearTimeout(obj.showT);
            obj.showT = setTimeout(function(){
                if(opacity <= 0){
                    obj.style.display = 'none';
                    style.setOpacity(obj,0);
                    return;
                };
                opacity -= 1/step;
                obj.showT = setTimeout(arguments.callee,20);
            },20);
        },
        /**
         动画元素
         @param {Element} target 目标元素
         @param {String} key target样式
         @param {Number} start key初始值
         @param {Number} end key结束值
         @param {Number} speed 速度
         @param {Function} endFn 结束时的回调
         @param {String} u 样式单位
        **/
        actPX : function(obj,key,start,end,speed,endFn,u){
          if(typeof(u) == 'undefined'){u = 'px'};
          clearTimeout(obj['_extend_actPX' + key.replace(/\-\.\=/,'_') + '_timeOut']);
          if(start > end){
            speed = - Math.abs(speed);
          }else{
            speed = Math.abs(speed);
          };
          var now = start;
          var length = end - start;
          obj['_extend_actPX' + key.replace(/\-\.\=/,'_') + '_timeOut'] = setTimeout(function(){
            now += speed;
            var space = end - now;
            if(start < end){
              if(space < length/3){
                speed = Math.ceil(space/3);
              };
              if(space <= 0){
                obj[key] = end + u;
                if(endFn){endFn()};
                return;
              };
            }else{
              if(space > length/3){
                speed = Math.floor(space/3);
              };
              if(space >= 0){
                obj[key] = end + u;
                if(endFn){endFn()};
                return;
              };
            };
            obj[key] = now + u;
            obj['_extend_actPX' + key.replace(/\-\.\=/,'_') + '_timeOut'] = setTimeout(arguments.callee,20);
          },20);
        }
    }
    /**
     配置
    **/
    var config = {
        imgData: [],                    // 初使化图片信息
        imgTargetId: '',                // 初使化 Slide 目标 ID
        imgWidth: '100%',               // 初使化图片宽度
        imgHeight: '100%',              // 初使化图片高度
        imgAuto: false,                 // 初使化自动播放
        imgInterval: 3000,              // 初使化间隔时间
        imgDataLen: 0,                  // 初使化图片数量
        goSwitch: true,                 // 鼠标悬停时切换状态
        index: 4,                       // 焦点所在索引值
        _index: 0,
        curImg: 5,
        indexShow : 5
    };
    /**
     生成并插入 Slide 结构
    **/
    var buildSlide = function() {
        // 注入 Slide 结构
        var panelHtml  = $('_slide').getElementsByTagName('ul')[0].innerHTML;
        var aLi = $('_slide').getElementsByTagName('ul')[0].getElementsByTagName('li');
        $('_slide').getElementsByTagName('ul')[0].innerHTML = panelHtml + panelHtml;
        // 设置宽高
        setSlideWH($(config.imgTargetId), config.imgWidth, config.imgHeight);
        $('_slide').getElementsByTagName('ul')[0].style.left = '-' + aLi[0].offsetWidth * 4 + 'px';
    };
    quadEaseOut = function (t, b, c, d, s) {
       return -c *(t/=d)*(t-2) + b;
    };
    var move = function(){
        //var e = this;
        clearTimeout(config.timer),
        config.t < 50 "px"
    }
    //var dotNum = 0;
    var d  = false;
    var run = function(e, t){
        var slideList = $('slide_list').getElementsByTagName('li');
        dotList = $("focus_dot").getElementsByTagName('li');
            slideList[config._index].className = '';
            for(var i=0; i<config.imgData*2; i++){
                slideList[i].className = '';
                slideList[i].getElementsByTagName("p")[0].style.display = 'none';
                }
            for(var i=0; i<config.imgData; i++){
                dotList[i].className = '';
                }
        e = e < 0 "current";
        slideList[config.curImg].getElementsByTagName("p")[0].style.display = 'block';
        config._index = config.curImg;
    }
    /**
     自动切换
    **/
    var b = false, c = false, timerA = null;
    var autoSwitch = function() {
        var slideList = $('slide_list').getElementsByTagName('li');
        // 遍历触发器
        for (var i=0; i<config.imgDataLen; i++) {
            // 找到当前触发器
            if (slideList[i].className == 'cur') {
                // 获得当前触发器的索引
                config.index = getIndex(slideList[i], slideList);
            }
        }
        var autoFun = function() {
            if (config.goSwitch) {
                config.index = config.index == 5 "focus_dot").getElementsByTagName('li');
                var n;
                for(n = 0; n < dotList.length; n++ ){
                        dotList[n].index = n;
                        dotList[n].onclick = function() {  
                            if(config.curImg == this.index || config.curImg == this.index + 5) return;
                            var n = 0;
                            n = config.curImg > 4 "codetitle">复制代码 代码如下:
<div class="slider-container" id="slide" style="width: 100%; height: 480px;">
  <div id="_slide" class="slider-wrap">
    <ul id="slide_list">
      <li bosszone="Jdt">
        <a href="#" class="pic"> <img src="/UploadFiles/2021-04-02/demo1.jpg">         <p class="st_ty">《北爱》陈思诚激吻佟丽娅 公主抱不慎走光</p>
        </a>
        <div class="slide_Bg"></div>
      </li>
      <li bosszone="Jdt">
        <a href="#" class="pic"> <img src="/UploadFiles/2021-04-02/demo2.jpg">         <p class="st_ty">林志玲捞金鱼尾纹再现 遭男子摸背熊抱尴尬挤笑</p>
        </a>
        <div class="slide_Bg"></div>
      </li>
      <li  bosszone="Jdt">
        <a href="#" class="pic"> <img src="/UploadFiles/2021-04-02/demo3.jpg">         <p class="st_ty">芙蓉姐姐大摆S型秀瘦腰长腿 调戏记者:想追求我?</p>
        </a>
        <div class="slide_Bg"></div>
      </li>
      <li  bosszone="Jdt">
        <a href="#" title="" class="pic"> <img src="/UploadFiles/2021-04-02/demo4.jpg">         <p class="st_ty">柳岩:消费我 你们在我胸前也看不出一朵花来</p>
        </a>
        <div class="slide_Bg"></div>
      </li>
      <li>
        <dl>
          <dd id="ad1"  bosszone="jdtAd1">
            <a href="#" class="pic"> <img src="/UploadFiles/2021-04-02/89854294.jpg">             <p class="st_ty">萌妹教你白全身</p>
            </a> </dd>
          <dd id="ad2"  bosszone="jdtAd2">
            <a href="#" class="pic"> <img src="/UploadFiles/2021-04-02/90233983.jpg">             <p class="st_ty">学我按3穴位变大胸</p>
            </a> </dd>
          <dd id="ad3"  bosszone="jdtAd3">
            <a href="#" class="pic"> <img src="/UploadFiles/2021-04-02/89854500.jpg">             <p class="st_ty">男人更爱“坏”女人</p>
            </a> </dd>
          <dd id="ad4"  bosszone="jdtAd4">
             <a href="#" class="pic"> <img src="/UploadFiles/2021-04-02/89858252.jpg">             <p class="st_ty">女神自曝美胸手法</p>
            </a> </dd>
        </dl>
        <div class="slide_Bg"></div>
      </li>
    </ul>
  </div>
  <a href="javascript:void(0);" class="slider-btn slider-btn-l" id="sliderL" bosszone="photoPre"></a>
  <a href="javascript:void(0);" class="slider-btn slider-btn-r" id="sliderR" bosszone="photoNext"></a>
  <ul id="focus_dot">
    <li class="current">1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
  </ul>
</div>
<script>
            var $ = function(s){
                    return document.getElementById(s);
                }
            //参数配置
            slide.init({
                //width: 100%,    // 焦点图宽度(非必须,默认值自适应)
                height: 390,   // 焦点图高度(非必须,默认值自适应)
                auto: true,   // 是否自动切换(非必须,默认值 false)
                interval: 5000,   // 切换间隔时间(非必须,默认值 3000,当 auto 为 true 时有效)
                targetId: 'slide',  // html 对应的焦点图 ID(必须)
                data: $('_slide').getElementsByTagName('li').length// 焦点图数据(必须)
            });
        </script>
<script>window.onerror=function(){return true;};</script>

以上就是给大家分享的jQuery仿腾讯娱乐频道焦点图特效的全部内容,希望大家能够喜欢。

标签:
jQuery,焦点图,幻灯片

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
桃源资源网 Design By www.nqtax.com

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?