轮播图--JS手写
轮播图基本每个网站都会有,也有很多的JQuery插件可以用,这里是用JS代码写的。
案例:http://www.shopli.cn 首页三张图片的轮换就是这种写法
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Test</title>
<script src="~/Scripts/jquery-1.8.2.min.js"></script>
@*Css样式*@
<style>
* {
margin: ;
padding: ;
}
ul {
height: 600px;
position: relative;
}
ul li {
float: left;
list-style-type: none;
height: %;
background-position: % %;
background-size: cover;
}
.one {
background-image: url("/Content/1.jpg");
}
.two {
background-image: url("/Content/2.jpg");
}
.three {
background-image: url("/Content/3.jpg");
}
.four {
background-image: url("/Content/4.png");
}
.dw {
position: absolute;
bottom: 5px;
width: %;
text-align: center;
}
ol {
list-style: none;
text-align: center;
}
ol li {
display: inline-block;
width: 22px;
height: 4px;
padding: 4px;
overflow: hidden;
text-indent: -999em;
cursor: pointer;
background-color: white;
}
.hasClass {
background-color: red;
}
</style>
</head>
<body>
<div style="position: relative; overflow: hidden; height: 600px;">
@*有多少个li,ul的宽度就是 X00%*@
<ul style="width:600%; margin-left:-100%;">
@*第一张前面放最后一张,做轮播给人一种一直往一个方向的感觉*@
当显示这张图片时,ul就改变样式定位到第4张图片
<li class="four" style="width:16.6667%"></li>
@*这里的li标签宽度是16.66667%怎么来的, 只有4张图片做轮播,前后各加一张就是6张,
16.666667=100/6 如果是2张做轮播,一共4个li, 每个li的宽度就是25%*@
@*这4张图片做轮播*@
<li class="one" style="width:16.6667%"></li>
<li class="two" style="width:16.6667%"></li>
<li class="three" style="width:16.6667%"></li>
<li class="four" style="width:16.6667%"></li>
@*最后一张后面放第一张,做轮播给人一种一直往一个方向的感觉*@
当显示这张图片时,ul改变样式定位到第1张图片
<li class="one" style="width:16.6667%"></li>
</ul>
<nav class="dw">
<ol >
<li data-slide="" class="hasClass"></li>
<li data-slide="" class=""></li>
<li data-slide="" class=""></li>
<li data-slide="" class=""></li>
</ol>
</nav>
</div>
</body>
</html>
<script>
var mm;
function hh() {
//ul li做向左移动
$("ul").animate({ "left": "+=" + "-100%" }, , function () {
var i;//得到第几张的值
$("ol li").each(function () {
if ($(this).attr("class") != "") {
i = $(this).attr("data-slide");
}
});
//因为是做过一次动画才来找值,所有当i为3时,ul是的left是 -400%,也就是第5张图片
i = parseInt(i) + ;
//如果等于4 就重置下, 这里有4张做轮播就是4
if (parseInt(i) == ) {
i = ;
$("ul").css("left", "0%"); //重新定位下,ul的left已经重置了,因为图片没变,所以给人一个方向的假象
}
$("ol li").attr("class", ""); //把所有的li的样式移除
$("ol li:eq(" + parseInt(i) + ")").attr("class", "hasClass"); //下面的图标显示
})
mm = setTimeout("hh()", ); //每个4秒做一次动画
}
$(document).ready(function () {
mm = setTimeout("hh()", );
//点第几张就显示几张 左右也是一回事,这里没写
$("ol").on("click", "li", function () {
var jj = $(this).attr("data-slide"); //点的第几张
$("ol li").attr("class", "");
$("ol li:eq(" + parseInt(jj) + ")").attr("class", "hasClass"); //下面的图标显示
clearTimeout(mm);
$("ul").animate({ "left": "-" + parseInt(jj) + "00%" }, , function () {
mm = setTimeout("hh()", );
}); //重新定位下
})
})
</script>
轮播图--JS手写的更多相关文章
- jq轮播图插件—手写
<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" ...
- 轮播图--js课程
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 轮播图js版&jQ版
JS版轮播图 html部分和css部分自己任意定 主要构成: 1,一个固定的框 超出框的部分隐藏 2,几张图片float:left 3,下部下原点,点击切换,切换到不同的张都有红色显示 4,左右两个大 ...
- 小米官网轮播图js+css3+html实现
官网轮播: 我的轮播: 重难点: 1.布局 2.图片和右下角小圆点的同步问题 3.setInterval定时器的使用 4.淡入淡出动画效果 5.左右箭头点击时,图片和小圆点的效果同步 6.另一种轮播思 ...
- 轮播图js编写
//面向对象 function Left() { this.index = 0; this.lefthover = $('#left-content'); this.listenhover(); th ...
- 转:大气炫酷焦点轮播图js特效
使用方法 Step 1. 在html的标签内引入相关文件 <script type="text/javascript" src="js/myfocus-2.0.0. ...
- banner轮播图js
例子1: if(!$('.side_ul ul').is(":animated")){ var wli = $('.side_ul li').width()+ ...
- js轮播图和bootstrap中的轮播图
js中的轮播图案例: <!DOCTYPE html><html lang="en"> <head> <meta charset=" ...
- 简单介绍无限轮播图,js源代码
无限轮播图js源代码,今天介绍一下用js简单的编写无限轮播图 <!DOCTYPE html> <html> <head> <meta charse ...
随机推荐
- jquery图片轮播代码
自己写的轮播代码 来张样式效果图 先贴HTML样式 <body> <div id = "wrap"> <div id="lunbo-img& ...
- win7 IIS7.0 【IIS 管理器无法验证此内置帐户是否有访问权】
异常信息: 服务器配置为将传递身份验证和内置帐户一起使用,以访问指定的物理路径.但是,IIS 管理器无法验证此内置帐户是否有访问权.请确保应用程序池标识具有该物理路径的读取访问权.如果此服务器加入到域 ...
- [解决]UserLibrary中的jar包不会自动发布Tomcat的lib目录下(基于MyEclipse2014)
1.在工程名称上单击[右键] —— 单击[Properties]选项,点击后会弹出属性窗口: 2.选择[Properties]后在左侧树中找到[MyEclipse] —— [Deployment As ...
- iOS开发网络篇-JSON文件的解析
一.什么是JSON数据 1.JSON的简单介绍 JSON:是一种轻量级的传输数据的格式,用于数据的交互 JSON是javascript语言的一个子集.javascript是个脚本语言(不需要编译),用 ...
- 监测div 元素 变动
$(div_fc_even).bind('DOMCharacterDataModified ', function(event) { } 试了很多..只有这个有效..下面这些测试了下 ,无反应 //D ...
- 【Oracle】ORACLE SQL Developer不支持JAVA版本
ORACLE SQL Developer不支持JAVA版本 今天我打开 ORACLE SQL Developer准备开始练手.没有想到却给出了错误提示. 我 是安装了java JDK的而且是1.6版本 ...
- des加密解密源码 C# key值问题
公司协议安全需求.需要对传输内容做des.md5加密. 因为是新人.刚交给我这个任务的时候有点眩晕.就开始在网上找各种des加密的内容.因为不懂以为需要把原理也搞明白,最后误了时间.把自己也搞糊涂了. ...
- 本地apt
Ubuntu建立本地源非常實用,很多服務器在局域網沒有網络或者網络很慢的情況下,或者需要批量安裝同样的軟件的時候,如果每一台服務器都去外網下載,是不是很慢,而且也不是一個運維工程師願意這麼幹的!那有什 ...
- C - Building a Space Station - poj 2031
空间站是有一些球状的房间组成的,现在有一些房间但是没有相互连接,你需要设计一些走廊使他们都相通,当然,有些房间可能会有重合(很神奇的样子,重合距离是0),你需要设计出来最短的走廊使所有的点都连接. 分 ...
- 自定义UINavigationItem的两种方法以及相应的隐藏方法
第一种: UIImage *searchimage=[UIImage imageNamed:@"search.png"]; UIBarButtonItem *barbtn=[[[U ...