成品如下:

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

下面是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:;}
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:;
padding:;
}
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屏。

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

  1. jQuery与原生js实现banner轮播图

    jQuery与原生js实现banner轮播图: (jq需自己加载)(图片需自己加载) <!DOCTYPE html> <html> <head> <meta ...

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

    今天学习了一下轮播图的写作,想到前一阵学过的无缝滚动得思想,所以就把轮播与滚动结合了一下.不过我的代码的神逻辑我自己都不敢恭维,在没网没参照的情况下,只能硬着头皮往下写,希望跟大家共勉吧. js运动框 ...

  3. JQuery手写一个简单的轮播图

    做出来的样式: 没有切图,就随便找了一些图片来实现效果,那几个小星星萌不萌. 这个轮播图最主要的部分是animate(),可以先熟悉下这个方法. 代码我放到了github上,链接:https://gi ...

  4. 用jQuery实现简单的简单的轮播图

    图片来源 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

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

    jquery文档准备的三种写法: $(document).ready(function() { }); $().ready(function() { }); $(function() { }); jq ...

  6. jquery左右切换的无缝滚动轮播图

    1.HTML结构: <head> <script type="text/javascript" src="../jquery-1.8.3/jquery. ...

  7. 基于Swiper 2.7.6实现的带缩略图功能的轮播图

    非原创,只能适合PC端,如果是移动端,只需要修改界面的大小即可.界面如下: 链接:http://pan.baidu.com/s/1pK9XdUV 密码:jsyk

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

    昨天写的神逻辑,今天终于解决,经过大家的商讨,终于研究出来一套简单的代码!!! js代码如下: <script> window.onload = function() { var oWra ...

  9. jQuery轮播图--不使用插件

    说明:引入jquery.min.js    将轮播图放入imgs文件夹 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitiona ...

随机推荐

  1. 三:MyBatis学习总结(三)——优化MyBatis配置文件中的配置

    一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下 <?xml version="1. ...

  2. CentOS7搭建FastDFS V5.11分布式文件系统-第一篇

    1.绪论 最近要用到fastDFS,所以自己研究了一下,在搭建FastDFS的过程中遇到过很多的问题,为了能帮忙到以后搭建FastDFS的同学,少走弯路,与大家分享一下.FastDFS的作者淘宝资深架 ...

  3. Linux终端复用工具 tmux

    简介 Terminal Multiplexer (From WIKIPEDIA) - A terminal multiplexer is a software application that can ...

  4. (转) centos7下创建mysql5.6多实例

    原文:http://blog.csdn.net/a1010256340/article/details/77483504 一.mysql安装目录说明mysql5.6以二进制安装包安装在/data/my ...

  5. Vue.js系列之三模板语法

    Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据.所有 Vue.js 的模板都是合法的 HTML ,所以能被遵循规范的浏览器和 HTML 解 ...

  6. Aop学习笔记系列一

    一.Aop解决了什么问题? 1.在说解决了什么问题之前,先介绍一些关键的知识点 a.功能需求:功能需求指项目中的增值需求,比如业务逻辑,UI,持久化(数据库). b.非功能需求:项目中次要的,但却不可 ...

  7. C#的OpenFileDialog的简单用法

    1.OpenFileDialog 中文名字叫做 打开文件对话框 OpenFileDialog的效果如图: private void btnSelectFile_Click(object sender, ...

  8. docker-compose管理daocker

    Docker-compose管理docker服务 1.安装docker-compose @首先确保服务器上已经安装docker环境,如果没有安装使用如下命令进行安装: # yum  -y  insta ...

  9. 简单Tomcat HTTP RPC框架

    RPC基础知识 什么是RPC? RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议. ...

  10. lucene源码分析(3)facet实例

    简单的facet实例 public class SimpleFacetsExample { private final Directory indexDir = new RAMDirectory(); ...