用jquery实现带左右按键的轮播图

成品如下:

简单来说就是点击“右”按钮时,转换到右边的下一幅图片,同时上面的小方块颜色也跟着改变,如果已经是最后一幅图片,再点击“右”,则转换到第一幅图片,是直接向左移找到第一幅图的,明天再做一下无缝切换的效果,即最后一幅图放完了以后第一幅图从右滑进来跟上。点击“左”同理。

下面是html代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <link rel="stylesheet" href="test_ch4.css" id="herf" />
        <script type="text/javascript" src="jquery-3.2.1.js"></script>
        <title>test_ch4</title>
        <meta charset="utf-8"/>
    </head>
    <body>
        <div id="wrap">

            <div id="head" >
                <div id="head_l">
                    <div id="head_l_w">
                    <span  class="white blue"  ></span>
                    <span  class="white"></span>
                    <span  class="white"></span>
                    <span  class="white"></span>
                    </div>
                    <span id="left">左</span><span id="right">右</span>
                </div>
            </div>
            <div id="video">
            <div id="inner">
                    <ul>
                        <li><a href="">
                                <img src="01.jpg" alt="" /></a>
                                <p>海贼王</p>
                                <span>播放:28,276</span></li>
                        <li><a href="">
                                <img src="01.jpg" alt="" /></a>
                                <p>海贼王</p>
                                <span>播放:28,276</span></li>
                        <li><a href="">
                                <img src="01.jpg" alt="" /></a>
                                <p>海贼王</p>
                                <span>播放:28,276</span></li>
                        <li><a href="">
                                <img src="01.jpg" alt="" /></a>
                                <p>海贼王</p>
                                <span>播放:28,276</span></li>
                        <li><a href="">
                                <img src="02.jpg" alt="" /></a>
                                <p>哆啦A梦</p>
                                <span>播放:33,326</span></li>
                        <li><a href="">
                                <img src="02.jpg" alt="" /></a>
                                <p>哆啦A梦</p>
                                <span>播放:33,326</span></li>
                        <li><a href="">
                                <img src="02.jpg" alt="" /></a>
                                <p>哆啦A梦</p>
                                <span>播放:33,326</span></li>
                        <li><a href="">
                                <img src="02.jpg" alt="" /></a>
                                <p>哆啦A梦</p>
                                <span>播放:33,326</span></li>
                        <li><a href="">
                                <img src="03.jpg" alt="" /></a>
                                <p>火影忍者</p>
                                <span>播放:28,276</span></li>
                        <li><a href="">
                                <img src="03.jpg" alt="" /></a>
                                <p>火影忍者</p>
                                <span>播放:28,276</span></li>
                        <li><a href="">
                                <img src="03.jpg" alt="" /></a>
                                <p>火影忍者</p>
                                <span>播放:28,276</span></li>
                        <li><a href="">
                                <img src="03.jpg" alt="" /></a>
                                <p>火影忍者</p>
                                <span>播放:28,276</span></li>
                        <li><a href="">
                                <img src="04.jpg" alt="" /></a>
                                <p>龙珠</p>
                                <span>播放:33,326</span></li>
                        <li><a href="">
                                <img src="04.jpg" alt="" /></a>
                                <p>龙珠</p>
                                <span>播放:33,326</span></li>
                        <li><a href="">
                                <img src="04.jpg" alt="" /></a>
                                <p>龙珠</p>
                                <span>播放:33,326</span></li>
                        <li><a href="">
                                <img src="04.jpg" alt="" /></a>
                                <p>龙珠</p>
                                <span>播放:33,326</span></li>
                    </ul>
            </div>
            </div>
        </div>
    </body>
    <script type="text/javascript">
    $(document).ready(function(){
        var page = 1;
        var v_width = $("#video").width() + 20;
        $("#right").click(function(e){
        if(!$("#video").is(":animated")){
            if(page % 4 == 0)
            {
                $("#video").animate({left:"0px"},1000);
                page = 1;
            }
            else {
                $("#video").animate({left:‘-=‘+v_width},1000);
                page++;
            }
        }
            $("#head_l_w span").attr("class","white");
            $("span.white").eq(page%4-1).attr("class","blue");

        });
        $("#left").click(function(){
        if(!$("#video").is(":animated")){
            if(page % 4 == 1)
            {
                $("#video").animate({left:‘-=‘+v_width*3},1000);
                page = 4;
            }
            else {
                $("#video").animate({left:‘+=‘+v_width},1000);
                page--;
            }
            $("#head_l_w span").attr("class","white");
            $("span.white").eq(page%4-1).attr("class","blue");
        }
        });
        });
    </script>
</html>

css代码:

ul {list-style:none; padding: 0;}
ul li {
    display:inline-block;
    margin: 10px 2px 0;
    padding: 8px;
}
ul li a {
    display: block;
    height: 80px;
    width: 128px;
}
ul li img{
   height: 80px;
   width: 128px;
}
a { text-decoration:none;}
p{
   color: blue;
   font-size: 12px;
   margin: 0;
   padding:0;
}
span {
    font-size: 12px;
    color: gray;
}
#wrap {
    width: 595px;
    overflow: hidden;
    border: 1px solid gray;
}
#video {
    position: relative;
    left: 0px;
    height: 160px;
    width: 592px;
}
#inner {
    width: 2500px;
    height: 170px;
    margin-bottom: 10px;
}
#head {
    background: #fff;
}

#head_l span {
    display: inline-block;
}

#right,#left{
    color: black;
    font-size: 14px;
    margin-right: 20px;
    cursor: pointer;
}
.white {
    width: 5px;
    height: 5px;
    background-color: white;
    margin-right:10px;
    border: 1px solid gray;
}
.blue{
    width: 5px;
    height: 5px;
    background-color: blue;
    margin-right:10px;
    border: 1px solid gray;
}

在程序中,用page来记录是第几屏在展示,然后选择相应的小方块让它变蓝,并且计算为了移到下一屏应该怎样进行相对定位。在布局里还有一个小技巧,就是包裹内容区的div要比外层div长,这样内容(总共4屏)在里层排成一排,但外层只能显示出1屏。

时间: 2024-12-16 10:34:57

用jquery实现带左右按键的轮播图的相关文章

带无缝滚动的轮播图(含JS运动框架)

今天学习了一下轮播图的写作,想到前一阵学过的无缝滚动得思想,所以就把轮播与滚动结合了一下.不过我的代码的神逻辑我自己都不敢恭维,在没网没参照的情况下,只能硬着头皮往下写,希望跟大家共勉吧. js运动框架的代码如下: 1 //获取样式 2 function getStyle(obj,attr){ 3 if(obj.currentStyle){ 4 return obj.currentStyle[attr]; 5 }else{ 6 return getComputedStyle(obj,false)

Jquery基础(动画效果的轮播图特效)

jquery文档准备的三种写法: $(document).ready(function() { }); $().ready(function() { }); $(function() { }); jquery选择器 基本选择器 $('*') / $('.div') / $('div') / $('#first') / 多项选择器 $('#first, div, .second') 层级选择器 $('aside summary') //aside的子元素summary $('aside > det

带无缝滚动的轮播图(含JS运动框架)-简洁版

昨天写的神逻辑,今天终于解决,经过大家的商讨,终于研究出来一套简单的代码!!! js代码如下: 1 <script> 2 window.onload = function() { 3 var oWrap = document.getElementById("wrap"); 4 var oBox = document.getElementById("box"); 5 var aBox = oBox.getElementsByTagName("li

JQuery仿最新淘宝网首页带箭头幻灯片,JQuery轮播图

JQuery代码 <script type="text/javascript"> $(function() { var $banner = $('.banner'); var $banner_ul = $('.banner-img'); var $btn = $('.banner-btn'); var $btn_a = $btn.find('a') var v_width = $banner.width(); var page = 1; var timer = null;

15款jQuery带缩略图的图片轮播切换特效代码

JQuery宽屏电影大图幻灯片轮播切换代码 jquery带文字缩略图的图片轮播切换代码 jQuery OwlCarousel图片滚动插件世界杯图片轮播滚动代码 jQuery仿中国建设银行带缩略图控制滚动图片轮播切换 jquery图片滑动切换效果左右按钮控制图片滑动轮播切换效果 jQuery幻灯片插件可自动轮播和暂停的图片幻灯片代码 jQuery带缩略图的焦点图代码_带标题的焦点图代码 jquery图片轮播插件带小缩略图片的焦点图切换效果代码 原生js图片插件缩略图片控制大图淡出淡进切换支持图片轮

JQuery和html+css实现带小圆点和左右按钮的轮播图

是的!你没看错!还是轮播图.这次的JQuery的哟!! CSS代码: /*轮播图 左右按钮 小白点*/ #second_div{ margin-top: 160px; } .img_box{ overflow: hidden; width:100%; height:420px; border:1px solid; position:relative; } .img_box img{ width:100%; position:absolute; } .ul5{ list-style: none;

JQuery实现简单的轮播图基本思路

demo点这里 需要达到的效果 常见的轮播图组件自动翻页,左右跳转按钮,下方是indexindex显示了当前图片位置,左右按钮就是更改当前位置第一个版本暂时不定义api了,写简单点 大概思路 用banner隐藏超出部分的图片imageList是inline要显示的话就float到标签位置 首先是html 从sublime换了webstorm,自带了emmet插件也就是可以这样写div.wrapper>div.banner>ul.imageList>(li>img)*4^img+im

带原点的图片轮播

<html xmlns="http://www.w3.org/1999/xhtml"><head><title>jquery全屏banner自动轮播切换</title><script type="text/javascript" src="/ajaxjs/jquery-1.6.2.min.js"/></script><script type="text/jav

jquery特效(3)—轮播图①(手动点击轮播)

今天上班做设计做的头疼,就写了一个轮播图练练手,先写了一个手动点击轮播的轮播图,随后我会慢慢接着深入写自动轮播图和鼠标悬浮图片停止移动轮播图等~~~~~~虽然今天我生日,但是代码还是得写的,不能找借口放松自己,原地踏步也算后退~~~~ 下面来看看最终做的手动点击轮播效果: 哈哈哈,有没有看出来我的四张图片都是美男子哦~~~~找个赏心悦目的图片真不容易,这样才能激起我写轮播图的代码欲望,写出来就可以点击按钮翻他们牌子了~~~~ 一.原理说明 (1)首先是轮播图的架构,我采用了一个最外边的大div包