HTML5 轮播图

效果图
效果图.png
ACTION
/**
     * 轮播图
     */
    @RequestMapping(value = "toShopping", method = RequestMethod.GET)
    public Object toShopping(String meid) {

        ModelAndView mv = null;
        try {
            List<String> imgList = new ArrayList<String>();
            imgList.add("http://g.hiphotos.baidu.com/baike/c0%3Dbaike60%2C5%2C5%2C60%2C20%3Bt%3Dgif/sign=413a474a35fae6cd18b9a3336eda6441/b17eca8065380cd747320490a144ad345982819b.jpg");
            imgList.add("http://imgsrc.baidu.com/imgad/pic/item/83025aafa40f4bfb6ad1fc5c094f78f0f73618b0.jpg");
            imgList.add("http://f8.topitme.com/8/1a/3f/1110239301cf63f1a8o.jpg");
            imgList.add("http://imgsrc.baidu.com/imgad/pic/item/241f95cad1c8a786de2be62a6d09c93d70cf5094.jpg");
            mv = new ModelAndView("/shopping/commodityDetails");
            mv.addObject("imgList", imgList);
        } catch (Exception e) {
        }
        return mv;
    }
HTML
<div id="banner">
    <div id="banner_list">
        <#if imgList??&&((imgList?size)>0)>
            <#list imgList as imgs>
                <a href="javascript:void();" target="_blank">![](${imgs})</a>
            </#list>
        </#if>
    </div>
    <ul id="ul">
        <#if imgList??&&((imgList?size)>0)>
            <#list imgList as imgs>
                <#if imgs_index==0>
                    <li class="on"></li>
                <#else>
                    <li></li>
                </#if>
            </#list>
        </#if>
    </ul>
</div>

JS

addEventListener用法:
http://www.runoob.com/jsref/met-element-addeventlistener.html

<script type="text/javascript">
    var t = n = 0,
        count;
    
    $(document).ready(function() {
        // 获取图片标签长度
        count = $("#banner_list a").length;
    
        // 不是当前显示的图片隐藏
        $("#banner_list a:not(:first-child)").hide();
        
        // 点击切换图片
        $("#banner li").click(function(e) {
            
            var target = e.target;    //获取对应目标元素
            var children = $("#ul").children();    //获取ul里面的所有li元素集合
            var index = 0;
            for(i = 0;i<children.length;i++){

                if(target == children[i]) { //对比目标元素和li集合元素
                    index = i;   //输出目标元素的下标
                    break;
                }
            }
            
            n = index;
            if (index >= count) return;
            
            moveNext(index);
        });
        
        // 轮播间隔时间
        t = setInterval("showAuto()", 10000);
        
        // 切换图片
        function moveNext(val){
            // 淡入淡出效果
            $("#banner_list a").filter(":visible").fadeOut(0).parent().children().eq(val).fadeIn(500);
            // 响应点击
            $("#ul").children().eq(val).toggleClass("on");
            // 切换按钮的时候让上一个按钮回归原来的样式
            $("#ul").children().eq(val).siblings().removeAttr("class");
        }
        
        //手机触摸效果  
        var startX,endX,moveX; 
        
        function touchStart(event){  
            var touch = event.touches[0];  
            startX = touch.pageX;  
        }  
        function touchMove(event){  
            var touch = event.touches[0];  
            endX = touch.pageX;  
        }  
        function touchEnd(event){  
            moveX = startX - endX;  
            if(moveX>50){  
                if (n >= (count-1)){
                    n = 0;
                    moveNext(n);  
                }else{
                    ++n;
                    moveNext(n);  
                }
            }else if(moveX<-50){  
                if (n <= 0){
                    n = count-1;
                    moveNext(n);  
                }else{
                    --n;
                    moveNext(n);  
                }
            } 
        }
        document.getElementById("banner_list").addEventListener("touchstart",touchStart,false); 
        document.getElementById("banner_list").addEventListener("touchmove",touchMove,false);  
        document.getElementById("banner_list").addEventListener("touchend",touchEnd,false); 
    });
    
    $("#banner").hover(
        function() {
            clearInterval(t)
        },
        function() {
            t = setInterval("showAuto()", 10000);
        }
    );
    
    // 自动轮播
    function showAuto() {
        n = n >= count ? 0 : ++n;
        $("#banner li").eq(n).trigger('click');
    }
</script>
CSS
body {
    background: rgba(165, 165, 165, 0.16);
    padding: 0;
    margin: 0;
    width: 100%;
    height: auto;
}

#banner {
    position: relative;
}

#banner_list {
    width: 100%;
    height: 400px;
    overflow: hidden;
}

img {
    width: 100%;
    height: 400px;
    padding: 0;
    margin: 0 auto;
}

ul {
    width: 33%;
    margin-top: 0;
    margin-bottom: 10px;
    position: absolute;
    bottom: 10px;
    margin: auto 33%;
    list-style-type: none;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}

li {
    margin-right: 20px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    width: 15px;
    height: 15px;
    background: rgba(255, 255, 255, .38);
    border: 1px solid rgba(0, 0, 255, .1);
    cursor: pointer;
}

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

推荐阅读更多精彩内容

  • 作为一个前端程序猿,下面这些站会让你眼前一亮。 amazeui框架组建丰富 http://amazeui.org...
    欧巴冰冰阅读 8,811评论 18 303
  • 杭州城外三两棵, 西湖十景一脉承。 摩肩接踵当日景, G20 秋风拂面无人应! 秋风飒飒凉人意, 登高满目忆良人。...
    黎芯阅读 283评论 0 0
  • 城市的皮肤长不出毛发 光滑得只见浮躁与繁华 欲望用250km时速狂奔 却不见通往自由的出口 一首情诗撞上广告噱头 ...
    驿外荒泉阅读 340评论 1 2
  • 我本人,爱人之前先学会爱自己 睁开双眼做场梦 麻痹的,怎么就毕业了 人若变记忆便迷人 情令眼浅了便情深 认识一场,...
    顾安稳HOP阅读 292评论 0 0