12 第1页 | 共2 页下一页
返回列表 发新帖
查看: 3565|回复: 10
打印 上一主题 下一主题

[经验分享] jQuery的slide show图片切换,代码精简功能多

[复制链接]
   

671

主题

1

听众

3247

积分

中级设计师

Rank: 5Rank: 5

纳金币
324742
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2011-12-30 19:22:41 |只看该作者 |倒序浏览
分享一个代码简洁的Jquery slide show 图片切换,网上有很多基于Jquery的slide show,效果很漂亮、功能也很全,但是如果要应用某种效果,就非得导入某个插件,而这些文件通常都不会太小,为个一个slide show就导入一个文件,觉得有点不值,所以自己写了一个,分享出来,有用到的同学可以拿过去用用。
  发现问题的同学请随便嘀咕一下,只言片语也是对我的帮助,谢谢.....
  烈火提示:代码中为了演示方便,没有使用图片,如果您打算用于图片切换,可自行修改。
  为解决一些网页特效运行后不能显示效果(例如:jQuery则需要刷新)问题,烈火特别新增网页版演示
  网页演示:猛击此处
  运行演示:
<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<script type="text/javascript" src="/uploads/common/js/jquery-1.3.2.js"></script>

<title>JavaScript slider</title>

</head>

<body>

<style>

br {clear:both;}

.frame {

width:600px;

height:240px;

background-color:#CCC;

overflow:hidden;

}

.frame .list {

list-style:none;

padding:0;

margin:0;

width:10000px;

}

.frame .list li {

width:600px;

height:240px;

float:left;

}

.frame #big_list2 {

height:10000px;

}

.frame #big_list2 li {

clear:both;

}

.frame #big_list4 {

height:10000px;

}

.frame #big_list4 li {

clear:both;

}

.l_frame {

width:260px;

height:80px;

background-color:#CCC;

overflow:hidden;

float:left;

}

.l_frame .list {

list-style:none;

padding:0;

margin:0;

width:10000px;

}

.l_frame .list li {

float:left;

width:76px;

height:76px;

cursor:pointer;

border:solid 2px #cc3910;

}

.l_frame .list .cur {

border:solid 2px #0FF;

}

.l_frame2 {

height:208px;

width:80px;

background-color:#CCC;

overflow:hidden;

}

.l_frame2 .list {

list-style:none;

padding:0;

margin:0;

height:10000px;

}

.l_frame2 .list li {

width:76px;

height:76px;

cursor:pointer;

border:solid 2px #cc3910;

}

.l_frame2 .list .cur {

border:solid 2px #0FF;

}

.slide_nav {

height:80px;

width:16px;

display:block;

float:left;

background-color:#2A0;

text-indent:-10000px;

}

.slide_nav2 {

width:80px;

height:16px;

display:block;

background-color:#2A0;

text-indent:-10000px;

}

</style>

<h3>A、大图:向左轮转;小图:向左轮转</h3>

<div id="big_frame" class="frame">

<ul id="big_list" class="list">

<li style="background-color:#332f29;">aaaa</li>

<li style="background-color:#f1f2c0;">bb</li>

<li style="background-color:#ccc59e;">cc</li>

<li style="background-color:#8fa68e;">dd</li>

<li style="background-color:#cc3910;">eeee</li>

</ul>

</div>

<br />

<a id="back" class="slide_nav" href="#">left</a>

<div id="small_frame" class="l_frame">

<ul id="small_list" class="list">

<li class="cur" style="background-color:#332f29;">aaaa</li>

<li style="background-color:#f1f2c0;">bb</li>

<li style="background-color:#ccc59e;">cc</li>

<li style="background-color:#8fa68e;">dd</li>

<li style="background-color:#cc3910;">eeee</li>

</ul>

</div>

<a id="forward" class="slide_nav" href="#">right</a>

<br />

<br />

<br />

<br />

<h3>B、大图:向上轮转;小图:向左轮转</h3>

<div id="big_frame2" class="frame">

<ul id="big_list2" class="list">

<li style="background-color:#d57d50;">aaaa</li>

<li style="background-color:#cc3910;">bb</li>

<li style="background-color:#f1f2c0;">cc</li>

<li style="background-color:#ccc59e;">dd</li>

<li style="background-color:#8fa68e;">eeee</li>

<li style="background-color:#332f29;">FFF</li>

</ul>

</div>

<br />

<a id="back2" class="slide_nav" href="#">a</a>

<div id="small_frame2" class="l_frame">

<ul id="small_list2" class="list">

<li class="cur" style="background-color:#d57d50;">aaaa</li>

<li style="background-color:#cc3910;">bb</li>

<li style="background-color:#f1f2c0;">cc</li>

<li style="background-color:#ccc59e;">dd</li>

<li style="background-color:#8fa68e;">eeee</li>

<li style="background-color:#332f29;">FFF</li>

</ul>

</div>

<a id="forward2" class="slide_nav" href="#">b</a>

<br />

<br />

<br />

<br />

<h3>C、大图:向左轮转;小图:向上轮转</h3>

<div style="float:left;">

<div id="big_frame3" class="frame">

<ul id="big_list3" class="list">

<li style="background-color:#d57d50;">aaaa</li>

<li style="background-color:#cc3910;">bb</li>

<li style="background-color:#f1f2c0;">cc</li>

<li style="background-color:#ccc59e;">dd</li>

<li style="background-color:#8fa68e;">eeee</li>

<li style="background-color:#332f29;">FFF</li>

</ul>

</div>

</div>

<div style="float:left; margin:0 0 0 8px;">

<a id="back3" class="slide_nav2" href="#">a</a>

<div id="small_frame3" class="l_frame2">

<ul id="small_list3" class="list">

<li class="cur" style="background-color:#d57d50;">aaaa</li>

<li style="background-color:#cc3910;">bb</li>

<li style="background-color:#f1f2c0;">cc</li>

<li style="background-color:#ccc59e;">dd</li>

<li style="background-color:#8fa68e;">eeee</li>

<li style="background-color:#332f29;">FFF</li>

</ul>

</div>

<a id="forward3" class="slide_nav2" href="#">b</a>

</div>

<br />

<br />

<br />

<br />

<h3>D、大图:向上轮转;小图:向上轮转</h3>

<div style="float:left;">

<div id="big_frame4" class="frame">

<ul id="big_list4" class="list">

<li style="background-color:#d57d50;">aaaa</li>

<li style="background-color:#cc3910;">bb</li>

<li style="background-color:#f1f2c0;">cc</li>

<li style="background-color:#ccc59e;">dd</li>

<li style="background-color:#8fa68e;">eeee</li>

<li style="background-color:#332f29;">FFF</li>

</ul>

</div>

</div>

<div style="float:left; margin:0 0 0 8px;">

<a id="back4" class="slide_nav2" href="#">a</a>

<div id="small_frame4" class="l_frame2">

<ul id="small_list4" class="list">

<li class="cur" style="background-color:#d57d50;">aaaa</li>

<li style="background-color:#cc3910;">bb</li>

<li style="background-color:#f1f2c0;">cc</li>

<li style="background-color:#ccc59e;">dd</li>

<li style="background-color:#8fa68e;">eeee</li>

<li style="background-color:#332f29;">FFF</li>

</ul>

</div>

<a id="forward4" class="slide_nav2" href="#">b</a>

</div>

<br />

<br />

<br />

<br />

</body>

</html>

<script type="text/javascript">

//初始化

function C_slider(frame,list,Lframe,Llist,forwardEle,backEle,scrollType,LscrollType,acitonType,autoInterval){

this.frame = frame;

this.list = list;

this.Lframe = Lframe;

this.Llist = Llist;

this.forwardEle = forwardEle;

this.backEle = backEle;

this.scrollType = scrollType;

this.LscrollType = LscrollType;

this.acitonType = acitonType;

this.autoInterval = autoInterval;

this.slideLength = $("#"+this.Llist+" > li").length;//总的slider数量

this.currentSlide = 0;

this.FrameHeight = $("#"+this.frame).height();

this.FrameWidth = $("#"+this.frame).width();

this.lFrameHeight = $("#"+this.Lframe).height();

this.lFrameWidth = $("#"+this.Lframe).width();

this.lListHeight = $("#"+this.Llist+" >li").eq(0).outerHeight(true);

this.lListWidth = $("#"+this.Llist+" >li").eq(0).outerWidth(true);

var self = this;

for(var i = 0; i<this.slideLength; i++) {

$("#"+this.Llist+" > li").eq(i).data("index",i);

$("#"+this.Llist+" > li").eq(i).bind(this.acitonType,function(){

self.go($(this).data("index"));

});

};

//给“上一个”、“下一个”按钮添加动作

$("#"+this.forwardEle).bind('click',function(){

self.forward();

return false;

});

$("#"+this.backEle).bind('click',function(){

self.back();

return false;

});

//定论鼠标划过时,自动轮换的处理

$("#"+this.frame+",#"+this.Lframe+",#"+this.forwardEle+",#"+this.backEle).bind('mouseover',function(){

clearTimeout(self.autoExt);

});

$("#"+this.frame+",#"+this.Lframe+",#"+this.forwardEle+",#"+this.backEle).bind('mouseout',function(){

clearTimeout(self.autoExt);

self.autoExt = setTimeout(function(){

self.extInterval();

},self.autoInterval);

});

//开始自动轮换

this.autoExt = setTimeout(function(){

self.extInterval();

},this.autoInterval);

}

//执行运动

C_slider.prototype.go = function(index){

this.currentSlide = index;

if (this.scrollType == "left"){

$("#"+this.list).animate({

marginLeft: (-index*this.FrameWidth)+"px"

}, {duration:600,queue:false});

} else if (this.scrollType == "top"){

$("#"+this.list).animate({

marginTop: (-index*this.FrameHeight)+"px"

}, {duration:600,queue:false});

}

$("#"+this.Llist+" > li").removeClass("cur");

$("#"+this.Llist+" > li").eq(index).addClass("cur");

//对于缩略图的滚动处理

if(this.LscrollType == "left"){

if(this.slideLength*this.lListWidth > this.lFrameWidth){

var spaceWidth = (this.lFrameWidth - this.lListWidth)/2;

var hiddenSpace = this.lListWidth*this.currentSlide - spaceWidth;

if (hiddenSpace > 0){

if(hiddenSpace+this.lFrameWidth <= this.slideLength*this.lListWidth){

$("#"+this.Llist).animate({

marginLeft: -hiddenSpace+"px"

}, {duration:600,queue:false});

} else {

var endHidden = this.slideLength*this.lListWidth - this.lFrameWidth;

$("#"+this.Llist).animate({

marginLeft: -endHidden+"px"

}, {duration:600,queue:false});

}

} else {

$("#"+this.Llist).animate({

marginLeft: "0px"

}, {duration:600,queue:false});

}

}

} else if (this.LscrollType == "top"){

if(this.slideLength*this.lListHeight > this.lFrameHeight){

var spaceHeight = (this.lFrameHeight - this.lListHeight)/2;

var hiddenSpace = this.lListHeight*this.currentSlide - spaceHeight;

if (hiddenSpace > 0){

if(hiddenSpace+this.lFrameHeight <= this.slideLength*this.lListHeight){

$("#"+this.Llist).animate({

marginTop: -hiddenSpace+"px"

}, {duration:600,queue:false});

} else {

var endHidden = this.slideLength*this.lListHeight - this.lFrameHeight;

$("#"+this.Llist).animate({

marginTop: -endHidden+"px"

}, {duration:600,queue:false});

}

} else {

$("#"+this.Llist).animate({

marginTop: "0px"

}, {duration:600,queue:false});

}

}

}

}

//前进

C_slider.prototype.forward = function(){

if(this.currentSlide<this.slideLength-1){

this.currentSlide += 1;

this.go(this.currentSlide);

}else {

this.currentSlide = 0;

this.go(0);

}

}

//后退

C_slider.prototype.back = function(){

if(this.currentSlide>0){

this.currentSlide -= 1;

this.go(this.currentSlide);

}else {

this.currentSlide = this.slideLength-1;

this.go(this.slideLength-1);

}

}

//自动执行

C_slider.prototype.extInterval = function(){

if(this.currentSlide<this.slideLength-1){

this.currentSlide += 1;

this.go(this.currentSlide);

}else {

this.currentSlide = 0;

this.go(0);

}

var self = this;

this.autoExt = setTimeout(function(){

self.extInterval();

},this.autoInterval);

}

//实例化对象

var goSlide1 = new C_slider("big_frame","big_list","small_frame","small_list","forward","back","left","left","click",3000);

var goSlide2 = new C_slider("big_frame2","big_list2","small_frame2","small_list2","forward2","back2","top","left","click",5000);

var goSlide3 = new C_slider("big_frame3","big_list3","small_frame3","small_list3","forward3","back3","left","top","click",3000);

var goSlide4 = new C_slider("big_frame4","big_list4","small_frame4","small_list4","forward4","back4","top","top","click",2000);

</script><br /><center>如不能显示效果,请按Ctrl+F5刷新本页,更多网页代码:<a href='http://www.veryhuo.com/' target='_blank'>http://www.veryhuo.com/</a></center>


文章源自:烈火网,原文:http://www.veryhuo.com/a/view/29483.html





分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

   

671

主题

1

听众

3247

积分

中级设计师

Rank: 5Rank: 5

纳金币
324742
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2012-1-6 20:28:25 |只看该作者
这个不错
回复

使用道具 举报

   

671

主题

1

听众

3247

积分

中级设计师

Rank: 5Rank: 5

纳金币
324742
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

板凳
发表于 2012-1-27 23:30:31 |只看该作者
空调冷却不了青春的火焰,彩电演绎不了年轻的色彩,MP3播放不了岁月的音色,电影远比不上生命的出色,短信却能寄托我真诚的祝福:春节快乐!
回复

使用道具 举报

5969

主题

1

听众

39万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

地板
发表于 2012-4-3 13:06:41 |只看该作者
谢谢楼主,真是太实用了
回复

使用道具 举报

1023

主题

3

听众

359

积分

设计实习生

Rank: 2

纳金币
335582
精华
0

最佳新人

5#
发表于 2012-5-1 23:21:15 |只看该作者
非常感谢,管理员设置了需要对新回复进行审核,您的帖子通过审核后将被显示出来,现在将转入主题
回复

使用道具 举报

462

主题

1

听众

31万

积分

首席设计师

Rank: 8Rank: 8

纳金币
2
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

6#
发表于 2012-6-3 23:25:44 |只看该作者
既来之,则看之!
回复

使用道具 举报

1023

主题

3

听众

359

积分

设计实习生

Rank: 2

纳金币
335582
精华
0

最佳新人

7#
发表于 2012-7-8 23:25:53 |只看该作者
先垫一块,再说鸟
回复

使用道具 举报

5969

主题

1

听众

39万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

8#
发表于 2012-7-25 23:25:19 |只看该作者
不错哦,顶一下......
回复

使用道具 举报

5969

主题

1

听众

39万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

9#
发表于 2012-9-25 23:19:17 |只看该作者
很有心,部分已收录自用,谢谢
回复

使用道具 举报

462

主题

1

听众

31万

积分

首席设计师

Rank: 8Rank: 8

纳金币
2
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

10#
发表于 2012-12-4 23:24:00 |只看该作者
水……生命之源……灌……
回复

使用道具 举报

12 第1页 | 共2 页下一页
返回列表 发新帖
您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-13 14:35 , Processed in 0.104144 second(s), 29 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部