jQuery实现轮播图

我用的jQuery库jquery-3.2.1.js可以在官网下载:http://jquery.com/download/

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>jQuery实现轮播图</title>
    <script type="text/javascript" src="jquery-3.2.1.js"></script>
    <style>
        #lunbo {
            width: 850px;
            height: 500px;
            margin: 0px auto;
            position: relative;
            overflow: hidden;
        }

        #list {
            position: absolute;
            width: 4250px;
            height: 500px;
            z-index: 1;
        }

            #list img {
                width: 850px;
                height: 500px;
                float: left;
            }

        #buttons {
            position: absolute;
            width: 90px;
            height: 15px;
            z-index: 2;
            left: 389px;
            bottom: 20px;
        }

            #buttons span {
                width: 15px;
                height: 15px;
                background: #f1f1f1;
                float: left;
                margin-right: 15px;
                border-radius: 50%;
                cursor: pointer;
            }

            #buttons .on {
                background: #cf1828;
            }

        .arrow {
            position: absolute;
            top: 230px;
            z-index: 2;
            display: none;
            width: 35px;
            height: 60px;
            font-size: 30px;
            font-weight: bold;
            line-height: 60px;
            text-align: center;
            color: #fff;
            background-color: RGBA(0, 0, 0, .3);
            cursor: pointer;
            text-decoration: none;
        }

            .arrow:hover {
                background-color: RGBA(0, 0, 0, .7);
            }

        #lunbo:hover .arrow {
            display: block;
        }

        #prev {
            left: 0px;
        }

        #next {
            right: 0px;
        }
    </style>
    <script>
        $(document).ready(function () {
            var lunbo = $("#lunbo");
            var list = $("#list");
            var prev = $("#prev");
            var next = $("#next");
            var spanGroup = $("#buttons span");
            var imgwidth = $("#list img:first-child").eq(0).width();
            var now = 1;
            var timer = null;

            prev.on("click", function () {
                clearInterval(timer);
                now--;
                if (now < 0) {
                    if (Math.abs(now) % 3 == 1) {
                        now = 2;
                    }
                    else if (Math.abs(now) % 3 == 2) {
                        now = 1;
                    }
                    else {
                        now = 0;
                    }
                }

                showPic(now);

                if (now == 0) {
                    now = 3;
                }
                if (now == 4) {
                    now = 1;
                }
            });

            next.on("click", function () {
                clearInterval(timer);
                now++;
                if (now > 4) {
                    if (now % 3 == 0) {
                        now = 3;
                    }
                    else if (now % 3 == 1) {
                        now = 4;
                    }
                    else {
                        now = 2;
                    }
                }

                showPic(now);

                if (now == 0) {
                    now = 3;
                }
                if (now == 4) {
                    now = 1;
                }
            });

            spanGroup.on("click", function () {
                now = spanGroup.index(this) + 1;
                showPic(now);
            });

            timer = setInterval(auto, 3000);

            function auto() {
                now++;
                showPic(now);
                if (now == 0) {
                    now = 3;
                }
                if (now == 4) {
                    now = 1;
                }
            }

            lunbo.mouseover(function () {
                clearInterval(timer);
            });

            lunbo.mouseout(function () {
                timer = setInterval(auto, 3000);
            })

            function showPic(index) {
                list.animate({ left: -index * imgwidth }, 1000, function () {
                    spanGroup.eq((index - 1) % 3).addClass("on").siblings().removeClass("on");
                    if (index == 0) {
                        list.css({
                            "left": -3 * imgwidth + "px"
                        });
                    }
                    if (index == 4) {
                        list.css({
                            "left": -imgwidth + "px"
                        });
                    }
                });
            };
        });
    </script>
</head>
<body>
    <div id="lunbo">
        <div id="list" style="left:-850px">
            <img src="images/lunbo3.jpg" alt="3" />
            <img src="images/lunbo1.jpg" alt="1" />
            <img src="images/lunbo2.jpg" alt="2" />
            <img src="images/lunbo3.jpg" alt="3" />
            <img src="images/lunbo1.jpg" alt="1" />
        </div>
        <div id="buttons">
            <span class="on"></span>
            <span></span>
            <span></span>
        </div>
        <a href="javascript:;" id="prev" class="arrow">&lt;</a>
        <a href="javascript:;" id="next" class="arrow">&gt;</a>
    </div>
</body>
</html>
时间: 2024-11-06 23:37:27

jQuery实现轮播图的相关文章

10个免费的响应式jQuery Carousel 轮播图插件

jQuery Carousel 轮播图插件可以给网站创建华丽的动画效果,这里列出的10个jQuery Carousel 轮播图插件都是响应式的,并且可以免费使用. 1. ItemSlide.js 简单的触摸式Carousel 轮播图插件,提供多种样式的旋转动画,如向上滑动,基于全屏的触摸滑动,左右滑动等. 2. Liquid 每当Liquid 容器的大小改变时,都会重新调整列表中的项目数,以适应新的宽度. 3. jCarousel jCarousel 是一个用来控制水平或垂直方向上列表项的jQu

使用jQuery实现轮播图

一共6张图片,每1.5m自动切换播放图片,鼠标在图片内则停止自动播放.可通过底部列表手动播放图片,也可通过图片两侧按钮手动点击切换图片.效果图如下. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>轮播图</title> <script src="https://libs.baidu.co

84JS插件:jQuery版轮播图

一.代码分两个部分:1.HTML部分,根据注释处理即可:2.基于jQuery的play.js插件部分,这里为了展示效果,直接写在<html></html>下的<script></script>标签里.3.效果包含:自动轮播,焦点对齐,前进后退,直走不返,鼠标进入.轮播停止且前进后退图标出现,鼠标离开.轮播重启且前进后退图标隐藏.4.这里可以预览效果.二.轮播图原理说明:(1)轮播图(假设)有7张图片,“一”字排列,把第1张图片复制一次,放到第8张的位置,这样

jQuery无缝轮播图思路详解-唯品会

效果图如上: 需求:图片自动轮播,鼠标移上停止播放,离开恢复播放,箭头切换图片. html代码 <!--轮播图大盒子开始--> <div class="wrap"> <!--大盒子上部分轮播图--> <div class="wrapUp"> <ul> <li class="cur"><a href="#"><img src="i

自己定义jquery插件轮播图

轮播图-html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible&

Jquery 实现轮播图

jq 轮播图 function banner_show(){ var left_btn = $("#banner_tag_left"); //获取左侧单击按钮 var right_btn = $("#banner_tag_right"); //获取右侧点击按钮 var Owidth = $("#banner ul li").width(); //获取单个图片宽度 var Oindex = $("#banner ul li");

jquery 广告轮播图

轮播图 /*轮播图基本功能: * 1图片切换 * 1.1图片在中间显示 * 1.2图片淡入淡出 * 2左右各有一个按钮 * 2.1点击左按钮,图片切换上一张 * 2.2点击右按钮,图片切换下一张 * 2.3鼠标滑过按钮,按钮颜色加深 * 3底部的导航点 * 3.1图片为第几张时,点在那第几张 * 3.2鼠标滑到第几个点,图片切换到第几张 * 4图片自动轮播 * 4.1默认自动下一张 * 4.2鼠标在图片范围时,停止切换 * 4.3鼠标离开图片范围,恢复自动切换 * 5鼠标放在图片范围时,变为小手

jQuery实现轮播图效果

通过改变背景色来达到效果,有下角标和左右箭头,都已经实现. html部分: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>淡入淡出</title> <link rel="stylesheet" type="text/css" href="css/5---.css"/> &

jquery - 导航轮播图

1,slider.js /** * slider插件可悬停控制 */ ; $(function ($, window, document, undefined) { Slider = function (container, options) { /* options = { auto: true, time: 3000, event: 'hover' | 'click', mode: 'slide | fade', controller: $(), activeControllerCls: '