美文网首页
jQuery 制作无缝轮播的焦点图

jQuery 制作无缝轮播的焦点图

作者: 写代码的八戒 | 来源:发表于2016-11-06 11:49 被阅读0次

网站上经常见到焦点图动画,焦点图的动画有多种,如:淡入淡出型、上下滑动型、左右滑动型、左右滑动无缝型,对比用户体验的话,无缝轮播方式是最好的,因为在播放多张图片的情况下不会出现间断感。

核心概念

  • JavaScript 函数
  • setInterval 定时器
  • jQuery 的 animate 动画
  • jQuery 的 mouseover 及 click 事件
  • 无缝概念的理解

代码

html

<div class="banner">
    <ul class="img">
        <li><a href="#"><img src="images/1.jpg" alt=""></a></li>
        <li><a href="#"><img src="images/2.jpg" alt=""></a></li>
        <li><a href="#"><img src="images/3.jpg" alt=""></a></li>
        <li><a href="#"><img src="images/4.jpg" alt=""></a></li>
    </ul>
    <ul class="num"></ul>
    <div class="btn btn_l"><</div>
    <div class="btn btn_r">></div>
</div>

js

$(function () {
    var i = 0;
    var clone = $(".banner .img li").first().clone();
    $(".banner .img").append(clone);
    var size = $(".banner .img li").size();
    for (var j = 0; j < size - 1; j++) {
        $(".banner .num").append("<li></li>");
    }
    $(".banner .num li").first().addClass("on");
    /*  鼠标划入圆点 */
    $(".banner .num li").hover(function () {
        var index = $(this).index();
        i = index;
        $(".banner .img").stop().animate({left: -index * 550}, 500)
        $(this).addClass('on').siblings().removeClass('on');
    })
    /* 自动轮播 */
    var t = setInterval(function () {
        i++;
        move()
    }, 2000);
    /* 对banner定时器的操作 */
    $(".banner").hover(function () {
        clearInterval(t);
    }, function () {
        t = setInterval(function () {
            i++;
            move();
        }, 2000);
    })
    /* 向左的按钮 */
    $(".banner .btn_l").click(function () {
        i++;
        move();
    })
    /* 向右的按钮 */
    $(".banner .btn_r").click(function () {
        i--;
        move();
    })
    function move() {
        if (i == size) {
            $(".banner .img").css({left: 0});
            i = 1;
        }
        if (i == -1) {
            $(".banner .img").css({left: -(size - 1) * 550});
            i = size - 2;   // size - 1 易错
        }
        $(".banner .img").stop().animate({left: -550 * i}, 500);
        if (i == size - 1) {
            $(".banner .num li").eq(0).addClass('on').siblings().removeClass('on');
        } else {
            $(".banner .num li").eq(i).addClass('on').siblings().removeClass('on');
        }
    }
})

css

* {
    padding: 0;
    margin: 0;
    list-style-type: none;
}
.banner {
    margin: 100px auto;
    border: 5px solid #000;
    width: 550px;
    height: 300px;
    overflow: hidden;
    position: relative;
}
.banner .img {
    width: 5000px;
    position: absolute;
    top: 0;
    left: 0;
}
.banner .img li {
    float: left;
}
.banner .num {
    position: absolute;
    width: 100%;
    bottom: 10px;
    left: 0;
    text-align: center;
    font-size: 0;
}
.banner .num li {
    width: 10px;
    height: 10px;
    background: #888;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    display: inline-block;
    margin: 0 3px;
    cursor: pointer;
}
.banner .num li.on {
    background: #F60;
}
.banner .btn {
    width: 30px;
    height: 50px;
    background: rgba(0, 0, 0, 0.5);
    position: absolute;
    top: 50%;
    margin-top: -25px;
    cursor: pointer;
    text-align: center;
    line-height: 50px;
    color: #fff;
    font-size: 40px;
    font-family:"宋体";   /* 设置箭头样式: FireFox默认黑体;Chrome默认宋体;*/
    display: none;
}
.banner:hover .btn {
    display: block;
}
.banner .btn_l {
    left: 0;
}
.banner .btn_r {
    right: 0;
}

相关文章

  • jQuery 制作无缝轮播的焦点图

    网站上经常见到焦点图动画,焦点图的动画有多种,如:淡入淡出型、上下滑动型、左右滑动型、左右滑动无缝型,对比用户体验...

  • 05_jQuery_无缝滚动轮播效果插件封装

    使用 jQuery 封装一个无缝滚动轮播效果插件。 效果图: 在线预览:jQuery_LKMarqueeSlide...

  • Jquery 轮播图制作

    轮播图制作主要思路:实现轮播图滚动的效果,主要是使用animate()函数来实现这个过渡的动画效果。当向左点击时,...

  • 第五周学习内容

    焦点图轮播特效之原理、焦点图轮播样式之布局、焦点图轮播之箭头切换、焦点图轮播之无限滚动。 js简介、用法、输出。

  • DEMO-企业网站

    企业网站 用 HTML+CSS+jQuery 做的一个企业网站前端页面。 使用的 jQuery 插件: 焦点图轮播...

  • 使用jQuery实现无缝轮播图

    css样式: html代码: jQuery代码:1.首先引用jQuery文件 2.jQuery:

  • jQuery封装组件

    Tab切换组件 原生js封装预览效果查看源码 jquery 封装预览效果查看源码 无缝滚动的轮播图 预览效果查看源...

  • 无标题文章

    轮播图分为:传统轮播图、间歇轮播图、呼吸轮播图、无缝滚动轮播图等。它们各具特色,各有用处。 1.传统轮播图 第一步...

  • 轮播图

    轮播图分为:传统轮播图、间歇轮播图、呼吸轮播图、无缝滚动轮播图等。 1.传统轮播图 第一步,得到元素 第二步,设置...

  • 轮播图 jquery制作 (slideshow)

    轮播图 本文会随着时间进行更正 再次更新:2019/10/12 22:35 使用jquery写了个功能基本齐全的轮...

网友评论

      本文标题:jQuery 制作无缝轮播的焦点图

      本文链接:https://www.haomeiwen.com/subject/poaguttx.html