用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:;}
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实现带左右按键的轮播图的更多相关文章
- jQuery与原生js实现banner轮播图
jQuery与原生js实现banner轮播图: (jq需自己加载)(图片需自己加载) <!DOCTYPE html> <html> <head> <meta ...
- 带无缝滚动的轮播图(含JS运动框架)
今天学习了一下轮播图的写作,想到前一阵学过的无缝滚动得思想,所以就把轮播与滚动结合了一下.不过我的代码的神逻辑我自己都不敢恭维,在没网没参照的情况下,只能硬着头皮往下写,希望跟大家共勉吧. js运动框 ...
- JQuery手写一个简单的轮播图
做出来的样式: 没有切图,就随便找了一些图片来实现效果,那几个小星星萌不萌. 这个轮播图最主要的部分是animate(),可以先熟悉下这个方法. 代码我放到了github上,链接:https://gi ...
- 用jQuery实现简单的简单的轮播图
图片来源 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...
- Jquery基础(动画效果的轮播图特效)
jquery文档准备的三种写法: $(document).ready(function() { }); $().ready(function() { }); $(function() { }); jq ...
- jquery左右切换的无缝滚动轮播图
1.HTML结构: <head> <script type="text/javascript" src="../jquery-1.8.3/jquery. ...
- 基于Swiper 2.7.6实现的带缩略图功能的轮播图
非原创,只能适合PC端,如果是移动端,只需要修改界面的大小即可.界面如下: 链接:http://pan.baidu.com/s/1pK9XdUV 密码:jsyk
- 带无缝滚动的轮播图(含JS运动框架)-简洁版
昨天写的神逻辑,今天终于解决,经过大家的商讨,终于研究出来一套简单的代码!!! js代码如下: <script> window.onload = function() { var oWra ...
- jQuery轮播图--不使用插件
说明:引入jquery.min.js 将轮播图放入imgs文件夹 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitiona ...
随机推荐
- linux对文件赋权限的命令chmod的详细说明
指令名称 : chmod使用权限 : 所有使用者 使用方式 : chmod [-cfvR] [--help] [--version] mode file... 说明 : Linux/Unix 的档案调 ...
- Spring JdbcTemplate源码阅读报告
写在前面 spring一直以删繁就简为主旨,所以设计出非常流行的bean管理模式,简化了开发中的Bean的管理,少写了很多重复代码.而JdbcTemplate的设计更令人赞叹,轻量级,可做ORM也可如 ...
- 清除float的方法
清除浮动有两种方法: 一种是加入clear:both: 一种是BFC申明: <!doctype html><html><head><meta charset= ...
- centos7搭建kafka集群-第一篇
Kafka初识 1.Kafka使用背景 在我们大量使用分布式数据库.分布式计算集群的时候,是否会遇到这样的一些问题: 我们想分析下用户行为(pageviews),以便我们设计出更好的广告位 我想对用户 ...
- centos 7 初始化脚本
#!/bin/bash # 时间: 2018-11-21 # 作者: HuYuan # 描述: CentOS 7 初始化脚本 # 加载配置文件 if [ -n "${1}" ];t ...
- vba调用c#dll
本文阐述如何用C#创建COM组件,并能用VB6.0等调用.附有完整测试通过的代码.该功能总体看来很简单,实际值得注意的地方还是挺多.因为很少有人写这类文章,有些代码也是转来转去的不全,有些甚至让人误入 ...
- yum安装报错:Failure when receiving data from the peer
系统:Centos6.9 操作:yum install -y *.rpm 报错信息: Transaction Summary ===================================== ...
- Android studio 获取每次编译apk时的日期
项目中需要获取apk的编译日期,首先肯定是用手动的方式获取,但这样容易遗忘,怎么样通过代码的方式获取呢? 其实android 为我们提供了一个BuildConfig的类,android 每次编译的时候 ...
- MediaWIKI部署流程
1.下载mediawiki,地址:https://www.mediawiki.org/wiki/MediaWiki 2.下载xxamp集成软件,地址:https://www.apachefriends ...
- 在 mac 上利用 homebrew 安装软件
在mac经常需要安装一些软件,你可以通过app store下载,或者可以通过浏览袭搜索下载.这里介绍通过homebrew安装一些软件,它会自动为你下载一些软件的相关依赖,免去安装的烦恼. 首先我们需要 ...