用jQuery实现轮播banner
2016-05-13 21:52
736 查看
在前端发展迅速的今天,很多网站现在都有非常绚丽和时尚的banner图,下面我和大家分享一下运用前两天博客分享的jQuery标签实现动态轮播banner图。
对于初学者来说jQuery的确比JScript代码简洁很多,思路也更为清晰和方便,不得不说在获取元素方面jQuery真的很便捷。
首先不论用JScript或jQuery我们都要先明确思路怎样实现这个效果图,这样组织起来代码就不用来回修改,下面是我个人的文字思路:
定义变量:
轮播ul的li;
轮播图li的length;
定义新变量index=0;
定义函数letsShow(){
轮播的li第eq个.fadeIn(300).兄弟元素.fadeOut(300);
nav的li第eq个.add(‘class名’).兄弟元素.removeClass();
设置动画animate{样式,速度,回调函数
}
还原最初动画
}
定义函数carousel(){
index++;
如果(index等于li的length){让index==0}
调用letsShow()函数
}
letsShow()
setInterval(carousel,2500);
以下是我的html结构:
css样式:`*{
margin:0;
padding:0;
list-style:none;
}
body{
background:#ccc
}
下面是jQuery代码,在写代码前伙伴们不要忘记调用jQuery类库:`(document).ready(function() {
var picLi=(‘.pic .list li’);
var picNum=picLi.size();
var index=0;
function letsShow(){
picLi.eq(index).fadeIn(300).siblings().fadeOut(300);
$(‘.nav li’).eq(index).addClass(‘select’).siblings().removeClass(‘select’);
picLi.eq(index).find(‘.img2’).animate({left:’0px’},1000,function(){
picLi.eq(index).find(‘.img1’).css({‘display’:’block’}).animate({left:’0px’},1000)
})
picLi.eq(index).prev().find(‘.img2’).css({left:’-760px’}) //
picLi.eq(index).prev().find(‘.img1’).css({left:’-20px’,display:’none’})//
}
function carousel(){
index++;
if(index==picNum){
index=0;
}
letsShow();
}
letsShow();
var id =setInterval(carousel,2500)
对于初学者来说jQuery的确比JScript代码简洁很多,思路也更为清晰和方便,不得不说在获取元素方面jQuery真的很便捷。
首先不论用JScript或jQuery我们都要先明确思路怎样实现这个效果图,这样组织起来代码就不用来回修改,下面是我个人的文字思路:
定义变量:
轮播ul的li;
轮播图li的length;
定义新变量index=0;
定义函数letsShow(){
轮播的li第eq个.fadeIn(300).兄弟元素.fadeOut(300);
nav的li第eq个.add(‘class名’).兄弟元素.removeClass();
设置动画animate{样式,速度,回调函数
}
还原最初动画
}
定义函数carousel(){
index++;
如果(index等于li的length){让index==0}
调用letsShow()函数
}
letsShow()
setInterval(carousel,2500);
以下是我的html结构:
<div id="main"> <div class="pic"> <ul class="list"> <li style="background:url(img/bg1.jpg) no-repeat center"> <img class="img1" src="img/con1.png"> <img class="img2" src="img/text1.png"> </li> <li style="background:url(img/bg2.jpg) no-repeat center"> <img class="img1" src="img/con2.png"> <img class="img2" src="img/text2.png"> </li> <li style="background:url(img/bg3.jpg) no-repeat center"> <img class="img1" src="img/con3.png"> <img class="img2" src="img/text3.png"> </li> <li style="background:url(img/bg4.jpg) no-repeat center"> <img class="img1" src="img/con4.png"> <img class="img2" src="img/text4.png"> </li> <li style="background:url(img/bg5.jpg) no-repeat center"> <img class="img1" src="img/con5.png"> <img class="img2" src="img/text5.png"> </li> </ul> <ul class="nav"> <li></li> <li></li> <li></li> <li></li> <li></li> </ul> </div> </div>
css样式:`*{
margin:0;
padding:0;
list-style:none;
}
body{
background:#ccc
}
main{
width:100%; margin:50px auto }
main .pic{
width:760px; height:300px; position:relative; margin:0 auto; overflow:hidden; }
main .pic .list li{
width:760px; height:300px; position:relative; }
main .pic .list li .img1{
position:absolute; top:0; left:-20px; display:none; }
main .pic .list li .img2{
position:absolute; top:0; left:-760px; }
main .nav{
position:absolute; right:20px; bottom:20px; }
main .nav li{
width:10px; height:10px; border:1px solid #fff; float:left; margin-left:5px; cursor:pointer }
main .nav li.select{
background:#fff; }`
下面是jQuery代码,在写代码前伙伴们不要忘记调用jQuery类库:`(document).ready(function() {
var picLi=(‘.pic .list li’);
var picNum=picLi.size();
var index=0;
function letsShow(){
picLi.eq(index).fadeIn(300).siblings().fadeOut(300);
$(‘.nav li’).eq(index).addClass(‘select’).siblings().removeClass(‘select’);
picLi.eq(index).find(‘.img2’).animate({left:’0px’},1000,function(){
picLi.eq(index).find(‘.img1’).css({‘display’:’block’}).animate({left:’0px’},1000)
})
picLi.eq(index).prev().find(‘.img2’).css({left:’-760px’}) //
picLi.eq(index).prev().find(‘.img1’).css({left:’-20px’,display:’none’})//
}
function carousel(){
index++;
if(index==picNum){
index=0;
}
letsShow();
}
letsShow();
var id =setInterval(carousel,2500)
$('.nav li').click(function(){ clearInterval(id); var i = $(this).index(); index = i; letsShow(); id = setInterval(carousel, 2500); }) });`
相关文章推荐
- click.xxx事件触发,参考jquery源码
- 一个jquery tooltip plugin
- jquery下载保存文件
- 用jQuery实现读取checkbox所有已选项的value值
- 用原生javascript写出jquery中slideUp和slideDown效果
- jquery------.resizable()的使用
- jQuery 操作Cookie 存储 读取 删除等
- jquery------.mouseover()和.mouseout()的高级效果使用
- 【B/S】引用Google或微软的CDN加载jQuery
- jquery 选择器
- 【笔记】 《js权威指南》- 第19章 JQuery类库 - 19.2 JQuery getter setter
- 【B/S】jQuery简介及语法
- jquery中的each用法以及js中的each方法实现实例
- 利用jquery制作滚动到指定位置触发动画
- jquery选择器篇
- 原生js和jquery分别实现横向导航菜单效果
- 实例讲解Jquery中隐藏hide、显示show、切换toggle的用法
- 利用jQuery对插件进行扩展时,方法$.extend()、$.fn.extend()区别与联系
- 基于jquery插件实现拖拽删除图片功能
- PHP Jquery