js实现固定宽高滑动轮播图效果


Posted in Javascript onJanuary 13, 2017

话不多说,请看具体示例代码:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
<script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
 <style>
 *{
 margin:0;
 padding:0;
 }
 html, body {
  position: relative;
  height: 100%;
  }
  body {
   background: #eee;
   font-size: 14px;
   color:#000;
   margin: 0;
   padding: 0;
  }
 li{
 list-style: none;
 }
 a{
 text-decoration: none;
 }
 #banner1{
 width:500px;
 }
 .banner{
 width: 500px;
 height:100px;
 border:1px solid red; 
 position: relative;
 margin:40px auto 0;
 overflow: hidden;
 }
 .banner ul{
 width:9999px;
 position: absolute;
 top:0;
 left: 0;
 height: 100%;
 }
 .banner li{
 width:500px;
 float: left;
 height: 100%;
 line-height: 100px;
 }
 .banner li a{
 display: block;
 background:green;
 font-size:30px;
 text-align: center;
 }
 .cur{
 height: 20px;
 position: absolute;
 right: 0;
 bottom:10px;
 text-align: center;
 }
 .cur a{
 display: inline-block;
 width: 20px;
 height: 20px;
 background:yellow;
 margin-left:2px;
 }
 .cur a.active{
 background:red;
 }
 .prve{
 position: absolute;
 top:50%;
 left: 0;
 width:30px;
 height: 30px;
 background: red;
 line-height: 30px;
 text-align:center;
 color:#fff;
 margin-top:-15px;
 }
 .next{
 position: absolute;
 top:50%;
 right: 0;
 width:30px;
 height: 30px;
 background: red;
 line-height: 30px;
 text-align:center;
 color:#fff;
 margin-top:-15px;
 }
 </style>
</head>
<body>
 <div class="banner" id="banner1">
 <ul class="tab">
 <li><a href="###">1</a></li>
 <li><a href="###">2</a></li>
 <li><a href="###">3</a></li>
 </ul>
 <div class="cur"></div>
 <div class="prve"><</div>
 <div class="next">></div>
 </div>
<script>
$(function(){
 cc("banner1",500); 
});
function cc(id,w){
 var i=0;
 var id=$("#"+id);
 var tab=id.children(".tab");
 var tabLi=tab.find("li");
 var clone=tabLi.first().clone();
 tab.append(clone);
 var size=tab.find("li").size(); 
 var cur=id.children(".cur");
 var curA=cur.children("a");
 var prve=id.children(".prve");
 var next=id.children(".next");
 for(var j=0;j<size-1;j++){
 cur.append("<a href='###'></a>");
 }
 cur.find("a").first().addClass("active");
 /*鼠标划入圆点*/
 cur.find("a").hover(function(){
 var index=$(this).index();
 i=index;
 tab.stop().animate({left:-index*w},500) 
 $(this).addClass("active").siblings().removeClass("active") 
 }); 
 /*自动轮播*/
 var t=setInterval(function(){
 i++;
 move()
 },2000)
 /*对banner定时器的操作*/
 id.hover(function(){
 clearInterval(t);
 },function(){
 t=setInterval(function(){
 i++;
 move();
 },2000)
 });
 /*向左的按钮*/
 prve.click(function(){
 i--;
 move(); 
 });
 /*向右的按钮*/
 next.click(function(){
 i++;
 move(); 
 });
 function move(){ 
 if(i==size){
 tab.css({left:0}); 
 i=1;
 };
 if(i==-1){
 tab.css({left:-(size-1)*w});
 i=size-2;
 };
 tab.stop().animate({left:-i*w},500);
 if(i==size-1){
 cur.children("a").eq(0).addClass("active").siblings().removeClass("active") 
 }else{ 
 cur.children("a").eq(i).addClass("active").siblings().removeClass("active") 
 }; 
 };
}
</script> 
</body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
extjs 列表框(multiselect)的动态添加列表项的方法
Jul 31 Javascript
jquery 的 $(&quot;#id&quot;).html() 无内容的解决方法
Jun 07 Javascript
js修改原型的属性使用介绍
Jan 26 Javascript
jQuery中clone()方法用法实例
Jan 16 Javascript
JavaScript判断undefined类型的正确方法
Jun 30 Javascript
jQuery中select与datalist制作下拉菜单时的区别浅析
Dec 30 Javascript
VUE页面中加载外部HTML的示例代码
Sep 20 Javascript
利用Vconsole和Fillder进行移动端抓包调试方法
Mar 05 Javascript
详解Vue-cli3.X使用px2rem遇到的问题
Aug 09 Javascript
微信小程序实现传递多个参数与事件处理
Aug 12 Javascript
js用正则表达式筛选年月日的实例方法
Jan 04 Javascript
vue el-table实现递归嵌套的示例代码
Aug 14 Vue.js
JavaScript利用闭包实现模块化
Jan 13 #Javascript
Vue.js基础知识小结
Jan 13 #Javascript
canvas实现流星雨的背景效果
Jan 13 #Javascript
JavaScript正则表达式替换字符串中图片地址(img src)的方法
Jan 13 #Javascript
原生js实现手风琴功能(支持横纵向调用)
Jan 13 #Javascript
JavaScript使用简单正则表达式的数据验证功能示例
Jan 13 #Javascript
bootstrap网格系统使用方法解析
Jan 13 #Javascript
You might like
PHP合并两个数组的两种方式的异同
2012/09/14 PHP
Laravel 中使用 Vue.js 实现基于 Ajax 的表单提交错误验证操作
2017/06/30 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
javascript 播放器 控制
2007/01/22 Javascript
Span元素的width属性无效果原因及解决方案
2010/01/15 Javascript
js下写一个事件队列操作函数
2010/07/19 Javascript
ko knockoutjs动态属性绑定技巧应用
2012/11/14 Javascript
javascript函数自动执行常用方法汇总
2016/03/28 Javascript
Bootstrap网格系统详解
2016/04/26 Javascript
详解支持Angular 2的表格控件
2017/01/19 Javascript
JavaScript中的FileReader图片预览上传功能实现代码
2017/07/24 Javascript
详解基于 axios 的 Vue 项目 http 请求优化
2017/09/04 Javascript
Angular表格神器ui-grid应用详解
2017/09/29 Javascript
vue+iview+less+echarts实战项目总结
2018/02/22 Javascript
JavaScript类的继承方法小结【组合继承分析】
2018/07/11 Javascript
vue实现中部导航栏布局功能
2019/07/30 Javascript
JSX在render函数中的应用详解
2019/09/04 Javascript
原生javascript中this几种常见用法总结
2020/02/24 Javascript
微信小程序仿通讯录功能
2020/04/09 Javascript
[26:40]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第一局
2016/02/25 DOTA
[39:00]Optic vs VP 2018国际邀请赛淘汰赛BO3 第三场 8.24
2018/08/25 DOTA
Python lambda和Python def区别分析
2014/11/30 Python
Python爬虫设置代理IP(图文)
2018/12/23 Python
Python实现二叉树的最小深度的两种方法
2019/09/30 Python
解决Numpy中sum函数求和结果维度的问题
2019/12/06 Python
Python标准库shutil模块使用方法解析
2020/03/10 Python
python实现定时发送邮件
2020/12/23 Python
Pycharm 跳转回之前所在页面的操作
2021/02/05 Python
很酷的小工具和电子产品商城:GearBest
2016/11/19 全球购物
毕业生求职自荐信怎么写
2014/01/08 职场文书
二年级数学教学反思
2014/01/21 职场文书
五水共治一句话承诺
2014/05/30 职场文书
2015年大学班长个人工作总结
2015/04/24 职场文书
复兴之路观后感3000字
2015/06/02 职场文书
毕业论文答辩稿范文
2015/06/23 职场文书
遗嘱范文
2015/08/07 职场文书