H5 幻灯片简单制作(以DHCbanner为例)

代码如下:

<div class="bannerbox">
        <div id="SKITTER clearfix" class="SKITTER">
            <div class="banner-in clearfix"> 
                <ul class="clearfix imgList"> 
                    <li ><a href="#" target="_blank"></a></li>
                    <li ><a href="#" target="_blank"></a></li>
                    <li ><a href="#" target="_blank"></a></li>
                    <li ><a href="#" target="_blank"></a></li>
                    <li ><a href="#" target="_blank"></a></li>
                </ul>
            </div>   
            <ol class="buttons">
                <!-- <li class="current"><a href="#"></a></li>
                <li class=""><a href="#"></a></li>
                <li class=""><a href="#"></a></li>
                <li class=""><a href="#"></a></li>
                <li class=""><a href="#"></a></li> 此处需要动态添加所以注释掉-->
            </ol>
            <div class="margin-box">
                <div class="bannerBTN east "></div>
                <div class="bannerBTN west"></div>
            </div>
        </div>
    </div>

css:

.bannerbox{
    /*margin: 100px 0px;*/
    height:620px;
}
.SKITTER {
    position: relative;
    overflow: hidden;
}
.banner-in {
    height: 620px;
    overflow: hidden;
}
.imgList{
    position: relative;
}
.imgList li{
    width: 100%;
    left:0;
    top:0;
    position:absolute;
    height: 620px;

}
.imgList li:nth-child(1){
    background: url(../img/bannerlist/banner1.jpg) no-repeat scroll center center / cover;

}
.imgList li:nth-child(2){
    background: url(../img/bannerlist/banner2.jpg) no-repeat scroll center center / cover;

}
.imgList li:nth-child(3){
    background: url(../img/bannerlist/banner3.jpg) no-repeat scroll center center / cover;

}
.imgList li:nth-child(4){
    background: url(../img/bannerlist/banner4.jpg) no-repeat scroll center center / cover;

}
.imgList li:nth-child(5){
    background: url(../img/bannerlist/banner5.jpg) no-repeat scroll center center / cover;

}
.buttons {
    height: 10px;
    position: absolute;
    left: 50%;
    top:575px;
    border-bottom: 35px;
    margin-left: -220px;
    z-index: 1;
}
.buttons li{
    cursor: pointer;
}
.SKITTER .buttons li {
    display: inline-block;
    width: 70px;
    height: 5px;
    float: left;
    margin-right: 5px;
    background: white;
    opacity: 0.5;
    z-index: 1;
}
.SKITTER .buttons li.current{
    filter: alpha(opacity=50);
    opacity: 1;
}
.margin-box{
    width: 94%;
    position: absolute;
    left: 4%;
    top: 50px;
}
.bannerBTN {
    width: 32px;
    height: 50px;
    margin-top: 210px;
}
.east {
    float: left;
    background: url(../img/to_froward.png) no-repeat;
    cursor: pointer;
}
.west {
    float: right;
    background: url(../img/to_next.png) no-repeat;
    cursor: pointer;
}

jquery:

<script type="text/javascript" src="js/jquery-1.12.4.min.js"></script>
<script type="text/javascript">
        // 首页置顶菜单
        $(function(){
            var $li = $('.imgList li');
            var len = $li.length;//5张
            var $prev = $('.east');//左按钮
            var $next = $('.west');//右按钮
            var nextli = 0;//将要运动过来的li
            var nowli = 0;//当前要离开的li
            var timer = null;
            var hei=$(window).width() //获取当前文档宽度
            //除第一个li,都定位到右侧
            $li.not(':first').css({left:hei});
            //动态创建切换条
            $li.each(function(index){
                //创建li
                var $sli = $('<li></li>');
                //第一个li添加选中样式
                if(index == 0){
                    $sli.addClass('current');
                }
                //将切换条的li添加到ul中
                $sli.appendTo('.buttons');
            })

            $buttons = $('.buttons li');
            // alert($buttons.length);//5个切换条

            //切换条的点击事件
            $buttons.click(function() {
                nextli = $(this).index();
                //当点击当前张的切换条时,不做任何操作,防止跳变的Bug
                if(nextli == nowli){
                    return;
                }
                move();
                $(this).addClass('current').siblings().removeClass('current');
            });

            //左按钮的点击事件
            $prev.click(function() {
                nextli--;
                move();
                //改变切换条样式
                $buttons.eq(nextli).addClass('current').siblings().removeClass('current');
            });

            //右按钮的点击事件
            $next.click(function() {
                nextli++;
                move();
                //改变切换条样式
                $buttons.eq(nextli).addClass('current').siblings().removeClass('current');
            });

            //针对外层的bannerbox做鼠标进入和离开事件,因为鼠标指针有可能进入到左右翻页和切换条的范围
            //mouseenter使鼠标进入子元素也能清除定时器
            $('.bannerbox').mouseenter(function() {
                clearInterval(timer);
            });
            $('.bannerbox').mouseleave(function() {
                timer = setInterval(autoplay, 3000);
            });

            //定时器循环自动播放
            timer = setInterval(autoplay, 3000);

            //自动播放的逻辑与点击下一张是相同的
            function autoplay(){
                nextli++;
                move();
                //改变切换条样式
                $buttons.eq(nextli).addClass('current').siblings().removeClass('current');
            }

            function move(){
                //向右走到第一张,再继续走时
                if(nextli < 0){
                    nextli = len - 1;//将要来的是最后一张
                    nowli = 0;//要离开的是第一张
                    $li.eq(nextli).css({left:-$(document).width()});//把最后一张定位到左侧,准备进入
                    $li.eq(nowli).stop().animate({left: $(document).width()});//离开的第一张走到右侧
                    $li.eq(nextli).stop().animate({left: 0});//马上要进来的最后一张走进来
                    nowli = nextli;//要离开的赋值为刚进入的最后一张
                    return;//下边是正常情况的,不执行,直接返回
                }
                //向左走到最后一张,再继续走时
                if(nextli > len - 1){
                    nextli = 0;//将要来的是第一张
                    nowli = len - 1;//要离开的是最后一张
                    $li.eq(nextli).css({left:$(document).width()});//把第一张定位到右侧,准备进入
                    $li.eq(nowli).stop().animate({left: -$(document).width()});//离开的最后一张走到左侧
                    $li.eq(nextli).stop().animate({left: 0});//马上要进来的第一张走进来
                    nowli = nextli;//要离开的赋值为刚进入的第一张
                    return;//下边是正常情况的,不执行,直接返回
                }
                
                if(nextli > nowli){
                    //马上要进来的这张瞬间移动到右边
                    $li.eq(nextli).css({left:$(document).width()});
                    //当前这张离开
                    $li.eq(nowli).stop().animate({left: -$(document).width()});
                }else{
                    //马上要进来的这张瞬间移动到左边
                    $li.eq(nextli).css({left:-$(document).width()});
                    //当前这张离开
                    $li.eq(nowli).stop().animate({left: $(document).width()});
                }
                //马上要进来的这张走到0的位置
                $li.eq(nextli).stop().animate({left: 0});
                nowli = nextli;
            }
        })

效果如下:


DHC中国官方网站 100 日本原装进口化妆品品牌.png
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,384评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,845评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,148评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,640评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,731评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,712评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,703评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,473评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,915评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,227评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,384评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,063评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,706评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,302评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,531评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,321评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,248评论 2 352

推荐阅读更多精彩内容