亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

完美兼容各大瀏覽器的jQuery插件實現圖片切換特效

2019-11-20 13:45:40
字體:
來源:轉載
供稿:網友

文件里面的功能注釋也寫得非常詳細(詳見zoeDylan.ImgChange-1.0.1.js文件),對網友們的學習是很有幫助的,雖然樣式不太好看,大家可以自己寫,好好利用哦。。。

JS代碼部分:

復制代碼 代碼如下:

(function ($) {
    var//申明全局變量
        _eleTemp,//緩存變量
        _eleThis = $(this),//當前元素
        _eleImg = $('.zd-imgChange-img'),//圖片組元素
        _eleControll = $('.zd-imgChange-controll'),//控制器組元素
        _eleChange = $('.zd-imgChange-change'),//切換元素
            _icon = '●○',//動態圖標
            _imgTemplate = $(document.createElement('img')),//圖片模版'
            _setting = {
                height: 100,//高
                width: 200,//寬
                imgs: new Array(),//圖片地址
                links: null,//點擊地址
                tips: null,//圖片說明
                timers: 3000//自動切換時間
            },//配置
            _timers = null//自動切換保存變量
    $.fn.zoeDylan_ImageChange = function (op) {
        _eleThis = $(this);
        _setting = $.extend(_setting, op);//設置屬性
        //處理數據(查看是否為合法范圍)
        _setting.timers = _setting.timers != null && _setting.timers != undefined && _setting.timers > 1000 ? _setting.timers : 1000;
        _setting.height = parseFloat(_setting.height) < 100 ? 100 : parseFloat(_setting.height);
        _setting.width = parseFloat(_setting.width) < 200 ? 200 : parseFloat(_setting.width);
        return this.each(function () {//初始化
            AddTemplate();
            AddImg();
            DisSize();
            DisControll();
        })
    }
    //添加模版
    function AddTemplate() {
        _eleThis.removeClass();
        _eleThis.addClass('zd-imgChange');
        _eleTemp = '<button class="zd-imgChange-change zd-imgChange-change-left"><</button>';
        _eleThis.append(_eleTemp);
        _eleTemp = '     <div class="zd-imgChange-img">   </div>';
        _eleThis.append(_eleTemp);
        _eleTemp = '       <div class="zd-imgChange-controll"></div>';
        _eleThis.append(_eleTemp);
        _eleTemp = ' <button class="zd-imgChange-change zd-imgChange-change-right">></button>';
        _eleThis.append(_eleTemp);
        //給全局變量賦值
        _eleImg = $('.zd-imgChange-img');
        _eleControll = $('.zd-imgChange-controll');
        _eleChange = $('.zd-imgChange-change');
    }
    //添加圖片
    function AddImg() {
        for (var i = 0; i < _setting.imgs.length; i++) {
            //圖片
            _eleTemp = $(document.createElement('img'));
            _eleTemp.addClass('zd-imgChange-img-item');
            _eleTemp.attr('src', _setting.imgs[i]);
            _eleImg.append(_eleTemp);
            //圖標
            _eleControll.append('<span>' + _icon[1] + '</span>');
            //提示
            $(_eleImg.children('img')[i]).attr({ 'title': _setting.tips[i] + '|' + _setting.links[i] });
            $(_eleControll.children('span')[i]).attr('title', _setting.tips[i]);
        }
        Dispose(0, 'TtoB');
    }
    //處理尺寸
    function DisSize() {
        _eleThis.css({ 'height': _setting.height, 'width': _setting.width, 'font-size': _setting.height * 0.2 - 2 });
        _eleThis.children('button').css('font-size', _setting.height * 0.2 - 2);
        _eleChange.css({ 'line-height': _setting.height + 'px' });
    }
    //處理操作事件
    function DisControll() {
        _eleImg.children('img').bind('click', function () {//點擊圖片跳轉
            document.location = 'http://' + $(this).attr('title').split('|')[$(this).attr('title').split('|').length - 1];
        });
        _eleChange.bind('click', function () {//順序切換圖片
            var nowImg = $('.zd-imgChange-img-item-sel');
            _eleTemp = _eleImg.children('img');
            if ($(this).hasClass('zd-imgChange-change-left')) {//向左切換
                for (var i = 0; i < _eleTemp.length; i++) {
                    if (nowImg.attr('title') == $(_eleTemp[i]).attr('title')) {
                        if ((i - 1) < 0) {
                            Dispose(_eleTemp.length - 1, 'RtoL');
                        } else {
                            Dispose(i - 1, 'RtoL');
                        }
                        break;
                    }
                }
            } else if ($(this).hasClass('zd-imgChange-change-right')) {//向右切換
                for (var i = 0; i < _eleTemp.length; i++) {
                    if (nowImg.attr('title') == $(_eleTemp[i]).attr('title')) {
                        if ((i + 1) > _eleTemp.length - 1) {
                            Dispose(0, 'LtoR');
                        } else {
                            Dispose(i + 1, 'LtoR');
                        }
                        break;
                    }
                }
            } else {
                return false;
            }
        });
        _eleControll.children('span').bind('click', function () {
            for (var i = 0; i < _eleControll.children('span').length; i++) {
                if ($(_eleControll.children('span')[i]).attr('title') == $(this).attr('title')) {
                    if ($(_eleImg.children('img')[i]).attr('src') != $('.zd-imgChange-img-item-sel').attr('src')) {//判斷是否點擊的同一個標簽
                        Dispose(i, 'TtoB');
                    }
                    break;
                }
            }
        });
    }
    //切換器
    function Dispose(eNum, dir) {//切換圖片 
        clearTimeout(_timers);
        DisposeAnm();
        $(_eleControll.children('span')).html(_icon[1]);
        $(_eleControll.children('span')[eNum]).html(_icon[0]);
        $('.zd-imgChange-change-left').attr('title', eNum - 1 >= 0 ? $(_eleControll.children('span')[eNum - 1]).attr('title') : $(_eleControll.children('span')[_eleControll.children('span').length - 1]).attr('title'));
        $('.zd-imgChange-change-right').attr('title', eNum + 1 <= _eleControll.children('span').length - 1 ? $(_eleControll.children('span')[eNum + 1]).attr('title') : $(_eleControll.children('span')[0]).attr('title'));
        _timers = setTimeout(Timers, _setting.timers);
        //切換動畫--根據z-index實現視覺效果
        function DisposeAnm() {
            $('.zd-imgChange-img-item').removeClass('zd-imgChange-img-item-temp');
            $('.zd-imgChange-img-item-sel').removeClass('zd-imgChange-img-item-sel').addClass('zd-imgChange-img-item-temp');
            _eleTemp = $(_eleImg.children('img')[eNum]).addClass('zd-imgChange-img-item-sel');
            if (dir == 'TtoB') {
                _eleTemp.css('top', -_setting.height);
                _eleTemp.animate({ top: 0 }, 300);
            } else if (dir == 'RtoL') {
                _eleTemp.css('left', _setting.width);
                _eleTemp.animate({ left: 0 }, 300);
            } else if (dir == 'LtoR') {
                _eleTemp.css('left', -_setting.width);
                _eleTemp.animate({ left: 0 }, 300);
            }
        }
    }
    //自動切換時鐘
    function Timers() {
        _timers = setTimeout(Timers, _setting.timers);
        var nowImg = $('.zd-imgChange-img-item-sel');
        _eleTemp = _eleImg.children('img');
        for (var i = 0; i < _eleTemp.length; i++) {
            if (nowImg.attr('title') == $(_eleTemp[i]).attr('title')) {
                if ((i - 1) < 0) {
                    Dispose(_eleTemp.length - 1, 'TtoB');
                } else {
                    Dispose(i - 1, 'TtoB');
                }
                break;
            }
        }
    }
})($)

CSS代碼部分:

復制代碼 代碼如下:

.zd-imgChange {
    position: relative;
    margin: auto;
    padding: 0px;
    min-width: 200px;
    min-height: 100px;
    background: rgba(0,0,0,0.5);
    color: #fff;
    cursor: pointer;
    overflow: hidden;
}
.zd-imgChange-change {
    cursor:pointer;
    color:#fff;
    margin: 0px;
    padding: 0px;
    position: relative;
    background: rgba(0,0,0,0.5);
    width: 10%;
    height: 100%;
    text-align: center;
    opacity: 0.1;
    z-index: 1;
    -moz-transition: opacity 0.4s;
    -o-transition: opacity 0.4s;
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
    border:none;
}
    .zd-imgChange-change:hover {
        opacity: 1;
    }
.zd-imgChange-change-left {
    float: left;
}
.zd-imgChange-change-right {
    float: right;
}
.zd-imgChange-img {
    z-index: 0;
    padding: 0px;
    position: absolute;
    top: 0px;
    left: 0px;
    background: rgba(100,0,0,0.1);
    width: 100%;
    height: 100%;
}
.zd-imgChange-img-item {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    border: none;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    -moz-transition: opacity 0.5s;
    -o-transition: opacity 0.5s;
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
    opacity: 1;
    z-index: -1;
}
.zd-imgChange-img-item-temp{
    z-index:0;
}
.zd-imgChange-img-item-sel {
    z-index: 1;
}
.zd-imgChange-controll {
    z-index: 2;
    padding: 0px;
    position: absolute;
    bottom: 0px;
    width: 100%;
    height: 20%;
    background: rgba(0,0,0,0);
    text-align: center;
    -moz-transition: background 0.4s;
    -o-transition: background 0.4s;
    -webkit-transition: background 0.4s;
    transition: background 0.4s;
    text-shadow: 0px 0px 5px #000;
    opacity: 0.7;
}
    .zd-imgChange-controll:hover {
        background: rgba(0,0,0,0.5);
        opacity: 1;
    }
    .zd-imgChange-controll span {
        -moz-transition: color 0.4s;
        -o-transition: color 0.4s;
        -webkit-transition: color 0.4s;
        transition: color 0.4s;
    }
        .zd-imgChange-controll span:hover {
            color: rgba(0,0,0,0.6);
        }

HTML代碼部分:

復制代碼 代碼如下:

<!DOCTYPE html>
<html xmlns="<head>
    <meta name="viewport" content="width=device-width">
    <title>圖片切換</title>
    <script src="jquery-1.10.2.min.js"></script>
    <link href="zoeDylan.ImgChange.css" rel="stylesheet" />
    <script src="zoeDylan.ImgChange.js"></script>
    <script>
            var a_imgs = new Array(//插入圖片地址
                './1 (1).jpg',
                './1 (2).jpg',
                './1 (3).jpg',
                './1 (4).jpg'
                ),
                a_links = new Array(//點擊圖片跳轉的網址
                'www.baidu.com',
                'www.qq.com',
                'www.google.com',
                'www.zol.com'
                ),
                a_tips = new Array(//鼠標??康奶崾?br />                '百度',
                '騰訊',
                '谷歌',
                '中關村'
                );
            $(function () {
            $('#imgc').zoeDylan_ImageChange({//設置
                width: 500,
                height: 300,
                imgs: a_imgs,
                links: a_links,
                tips: a_tips,
                timers:2000
            });
            });
    </script>
</head>
<body>
    <div id="imgc">
<!--        <span class="zd-imgChange-change zd-imgChange-change-left"><</span>
        <div class="zd-imgChange-img">
            <img class="zd-imgChange-img-item" src="
        </div>
        <div class="zd-imgChange-controll"><span>d</></div>
        <span class="zd-imgChange-change zd-imgChange-change-right">></span>-->
    </div>
</body>
</html>

ps:盡量使用高版本瀏覽器,目測測試瀏覽器:IE11 IE10 IE6 google 獵豹 歐鵬 可以完美運行,IE6透明效果有損失

代碼下載:http://xiazai.VeVB.COm/201412/yuanma/zeodylanimgchange(VeVB.COm).rar

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久人91精品久久久久久不卡| 欧美激情精品久久久| 欧美高清videos高潮hd| 91美女福利视频高清| 国产自摸综合网| 久久久久久网站| 亚洲午夜精品久久久久久性色| 欧美高清一级大片| 日韩有码在线播放| 欧美午夜精品伦理| 另类少妇人与禽zozz0性伦| 国产精品免费久久久久久| 欧美国产极速在线| 国产精品久久久久久久久久久不卡| 日韩免费视频在线观看| 日本成人免费在线| 国产精品免费在线免费| 国模精品系列视频| 91亚洲国产成人久久精品网站| 国产精品九九久久久久久久| 欧美大片在线免费观看| 久久亚洲精品国产亚洲老地址| 992tv成人免费视频| 欧美第一页在线| 欧美激情一区二区三级高清视频| 91中文字幕在线观看| 亚洲欧美日韩一区在线| 欧美黑人xxx| 91免费视频网站| 亚洲精美色品网站| 亚洲电影中文字幕| 日韩精品免费在线播放| 欧美精品亚州精品| 久久久久久高潮国产精品视| 亚洲精品在线观看www| 亚洲奶大毛多的老太婆| 日韩美女福利视频| 日韩欧美在线免费观看| 亚洲xxxx3d| 亚洲资源在线看| 蜜臀久久99精品久久久无需会员| 欧美精品在线极品| 美女999久久久精品视频| 精品自拍视频在线观看| 国产xxx69麻豆国语对白| 国产精品第3页| 日韩在线观看网址| 91精品视频免费观看| 欧美国产乱视频| 色婷婷亚洲mv天堂mv在影片| 91精品在线观| 久久久成人精品视频| 成人av番号网| 久久久久久尹人网香蕉| 日韩成人在线播放| 国产在线拍偷自揄拍精品| 国产v综合v亚洲欧美久久| 日韩免费av片在线观看| 俺去了亚洲欧美日韩| 久久久久久久97| 国产精品美女在线| 狠狠色狠狠色综合日日小说| 久久影院在线观看| 91精品啪在线观看麻豆免费| www.日韩视频| 日韩男女性生活视频| 中文日韩在线观看| 日韩欧美国产骚| 欧美午夜久久久| 日韩av影片在线观看| 精品国产乱码久久久久久天美| 色哟哟亚洲精品一区二区| 日韩欧美综合在线视频| 亚洲成人av在线播放| 日韩欧美极品在线观看| 91九色精品视频| 亚洲精品乱码久久久久久金桔影视| 国产精品网站视频| 5252色成人免费视频| 国产精品黄色影片导航在线观看| 在线成人一区二区| 国产专区精品视频| 国产精品专区h在线观看| 国产精品久久久久久久久免费| 欧美理论电影在线播放| 国产成人精品优优av| 国产日本欧美一区二区三区| 性欧美长视频免费观看不卡| 国产一区二区三区在线观看视频| 久久91超碰青草是什么| 国产成人精品免高潮费视频| 欧美一级片免费在线| 亚洲女同精品视频| 性色av一区二区三区免费| 国产不卡在线观看| 欧美高清视频在线观看| 久久视频在线免费观看| 一本色道久久88综合亚洲精品ⅰ| 最近2019免费中文字幕视频三| 欧美国产日韩一区二区在线观看| 92版电视剧仙鹤神针在线观看| 亚洲国产精品视频在线观看| 国产狼人综合免费视频| 色婷婷久久av| 欧美尤物巨大精品爽| 久久影院模特热| 欧美体内谢she精2性欧美| 2019亚洲日韩新视频| 欧美激情一级欧美精品| 成人免费淫片aa视频免费| 欧美激情在线狂野欧美精品| 久久久久久国产精品久久| 亚洲精品视频免费| 国产精品美乳在线观看| 疯狂做受xxxx高潮欧美日本| 最新国产精品拍自在线播放| 日韩中文字幕视频| 不卡毛片在线看| 91老司机精品视频| 4k岛国日韩精品**专区| 国产一区二区美女视频| 国产精品美女网站| 亚洲欧美国产日韩中文字幕| 97在线免费观看| 81精品国产乱码久久久久久| 欧美性20hd另类| 久久夜色精品亚洲噜噜国产mv| 98精品国产高清在线xxxx天堂| 国产精品爽爽爽爽爽爽在线观看| 久久天天躁日日躁| 欧美性感美女h网站在线观看免费| 国产精品久久久久久久美男| 久久综合伊人77777| 国产精品久久久999| 成人情趣片在线观看免费| 97香蕉久久超级碰碰高清版| 国产精品99久久久久久白浆小说| 久久久欧美一区二区| 色多多国产成人永久免费网站| 国产精品视频免费在线观看| 国产精品久久久91| 久久99精品国产99久久6尤物| 精品二区三区线观看| 91精品91久久久久久| 久久人人爽人人爽人人片av高请| 欧美午夜美女看片| 最近2019中文字幕第三页视频| 日韩在线免费视频| 在线国产精品视频| 国产suv精品一区二区三区88区| 18久久久久久| 国产99久久精品一区二区永久免费| 日本不卡高字幕在线2019| 亚洲第一黄色网| 日韩av综合中文字幕| 亚洲美女视频网| 国产精品看片资源| 日韩欧美一区二区三区| 日本午夜人人精品| 久久天天躁狠狠躁夜夜av| 国产亚洲精品久久久久久777| 国产91露脸中文字幕在线| 亚洲免费视频观看| 日本亚洲精品在线观看|