以下是 jQ带分页索引图片切换特效代码 的示例演示效果:
部分效果截图:
HTML代码(index.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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jQuery带分页索引图片切换</title>
<link href="css/style.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="js/jquery.1.4.2-min.js"></script>
</head>
<body>
<!--演示内容开始-->
<script src="js/jquery.flow.1.2.js" type="text/javascript"></script> <script type="text/javascript">
$(function(){
$("div#controller").jFlow({
slides: "#slides",
controller: ".flowctrl",
slideWrapper : "#jFlowSlide",
selectedWrapper: "jflowselected",
width: "620px",
height: "340px",
duration: 400,
prev: ".flowprev",
next: ".flownext"
});
});
</script>
<p><style type="text/css">
*{margin:0;padding:0;list-style-type:none;}
body{font:12px/180% Arial, Helvetica, sans-serif,"宋体";}
a,img{border:none;vertical-align:middle;}
a{color:#333;text-decoration:none;}
a:hover{color:#333;text-decoration:none;}
#content{width:622px;margin:40px auto;}
#slides{position:relative;top:0px;left:0px;height:340px;overflow:hidden;background-color:#000;}
#jFlowSlide{border:solid 1px #000;}
/* slide */
.slide{float:left;width:620px;height:340px;overflow:hidden;position:relative;}
.slide .mask{position:absolute;bottom:0;left:0;width:100%;height:24px;line-height:24px;overflow:hidden;color:#fff;background:#000;text-align:center;filter:alpha(opacity=50);opacity:0.50;}
/* controller */
#controller{background-color:#000;height:60px;overflow:hidden;}
#controller span{display:block;float:left;width:97px;cursor:pointer;text-align:center;}
#controller span a{border-top:#333 1px solid;display:block;height:60px;line-height:60px;font-weight:bold;font-size:12px;background:url(images/slide_ctrl_bg.gif) no-repeat;border-bottom-width:0px;color:#b9b9b9;}
#controller span a:hover{border-top:#000 1px solid;color:#fff;}
#controller .jflowselected a{border-top:#c00 1px solid;color:#fff;background-color:#c00;}
#controller .jflowselected a:hover{border-top:#c00 1px solid;color:#fff;background-color:#000;}
#controller .flowprev,#controller .flownext{font:18px/50px arial;font-weight:800;width:65px;color:#c00;text-align:center;}
</style></p>
<div id="content">
<div id="slides">
<div class="slide"><a href="#" target="_blank"><img width="620" height="340" src="images/1.jpg" alt="标题" /></a>
<div class="mask">标题</div>
</div>
<div class="slide"><a href="#" target="_blank"><img width="620" height="340" src="images/2.jpg" alt="标题" /></a>
<div class="mask">标题</div>
</div>
<div class="slide"><a href="#" target="_blank"><img width="620" height="340" src="images/3.jpg" alt="标题" /></a>
<div class="mask">标题</div>
</div>
<div class="slide"><a href="#" target="_blank"><img width="620" height="340" src="images/4.jpg" alt="标题" /></a>
<div class="mask">标题</div>
</div>
<div class="slide"><a href="#" target="_blank"><img width="620" height="340" src="images/5.jpg" alt="标题" /></a>
<div class="mask">标题</div>
</div>
</div>
<!--slides end-->
<div id="controller"><span class="flowprev">‹</span>
<span class="flowctrl"><a href="javascript:void(0);">jquery 特效</a></span>
<span class="flowctrl"><a href="javascript:void(0);">js 特效</a></span>
<span class="flowctrl"><a href="javascript:void(0);">div+css 教程</a></span>
<span class="flowctrl"><a href="javascript:void(0);">html5 教程</a></span>
<span class="flowctrl"><a href="javascript:void(0);">更多特效</a></span>
<span class="flownext">›</span></div>
<!--controller end--></div>
<!--演示内容结束-->
</body>
</html>
JS代码(jquery.flow.1.2.js):
/* Copyright (c) 2008 Kean Loong Tan http://www.gimiti.com/kltan * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) * jFlow * Version:1.2 (July 7,2008) * Requires:jQuery 1.2+ */
(function($){
$.fn.jFlow = function(options){
var opts = $.extend({
}
,$.fn.jFlow.defaults,options);
var randNum = Math.floor(Math.random()*11);
var jFC = opts.controller;
var jFS = opts.slideWrapper;
var jSel = opts.selectedWrapper;
var cur = 0;
var maxi = $(jFC).length;
// sliding functionvar slide = function (dur,i){
$(opts.slides).children().css({
overflow:"hidden"}
);
$(opts.slides + " iframe").hide().addClass("temp_hide");
$(opts.slides).animate({
marginLeft:"-" + (i * $(opts.slides).find(":first-child").width() + "px")}
,opts.duration*(dur),opts.easing,function(){
$(opts.slides).children().css({
overflow:"auto"}
);
$(".temp_hide").show();
}
);
}
$(this).find(jFC).each(function(i){
$(this).click(function(){
if ($(opts.slides).is(":not(:animated)")){
$(jFC).removeClass(jSel);
$(this).addClass(jSel);
var dur = Math.abs(cur-i);
slide(dur,i);
cur = i;
}
}
);
}
);
$(opts.slides).before('<div id="'+jFS.substring(1,jFS.length)+'"></div>').appendTo(jFS);
$(opts.slides).find("div").each(function(){
$(this).before('<div class="jFlowSlideContainer"></div>').appendTo($(this).prev());
}
);
//initialize the controller$(jFC).eq(cur).addClass(jSel);
var resize = function (x){
$(jFS).css({
position:"relative",width:opts.width,height:opts.height,overflow:"hidden"}
);
//opts.slides or #mySlides container$(opts.slides).css({
position:"relative",width:$(jFS).width()*$(jFC).length+"px",height:$(jFS).height()+"px",overflow:"hidden"}
);
// jFlowSlideContainer$(opts.slides).children().css({
position:"relative",width:$(jFS).width()+"px",height:$(jFS).height()+"px","float":"left",overflow:"auto"}
);
$(opts.slides).css({
marginLeft:"-" + (cur * $(opts.slides).find(":eq(0)").width() + "px")}
);
}
// sets initial sizeresize();
// resets size$(window).resize(function(){
resize();
}
);
$(opts.prev).click(function(){
if ($(opts.slides).is(":not(:animated)")){
var dur = 1;
if (cur > 0)cur--;
else{
cur = maxi -1;
dur = cur;
}
$(jFC).removeClass(jSel);
slide(dur,cur);
$(jFC).eq(cur).addClass(jSel);
}
}
);
$(opts.next).click(function(){
if ($(opts.slides).is(":not(:animated)")){
var dur = 1;
if (cur < maxi - 1)cur++;
else{
cur = 0;
dur = maxi -1;
}
$(jFC).removeClass(jSel);
slide(dur,cur);
$(jFC).eq(cur).addClass(jSel);
}
}
);
}
;
$.fn.jFlow.defaults ={
controller:".jFlowControl",// must be class,use . signslideWrapper:"#jFlowSlide",// must be id,use # signselectedWrapper:"jFlowSelected",// just pure text,no signeasing:"swing",duration:400,width:"100%",prev:".jFlowPrev",// must be class,use . signnext:".jFlowNext" // must be class,use . sign}
;
}
)(jQuery);
CSS代码(style.css):
@charset "utf-8";/* reset */
*{margin:0;padding:0;list-style-type:none;}
a{blr:expression(this.onFocus=this.blur())}
/*去掉a标签的虚线框,避免出现奇怪的选中区域*/
:focus{outline:0;}
label{cursor:pointer;}
img{vertical-align:middle;}
table{empty-cells:show;border-collapse:collapse;border-spacing:0;}
h1{font-size:16px;}
h2,h3,h4{font-size:14px;}
h5,h6{font-size:12px;}
abbr,acronym{border:0;font-variant:normal}
address,caption,cite,code,dfn,em,th,var,optgroup{font-style:normal;font-weight:normal}
input,button,textarea,select,optgroup,option{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit}
input,button,textarea,select{*font-size:100%}
a,img{border:0;}
a,a:visited{color:#5e5e5e;text-decoration:none;}
a:hover{color:#4183C4;text-decoration:underline;}
.clear{display:block;overflow:hidden;clear:both;height:0;line-height:0;font-size:0;}
.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden;}
.clearfix{display:inline-table;}
/* Hides from IE-mac \*/
*html .clearfix{height:1%;}
.clearfix{display:block;}
/* End hide from IE-mac */
*+html .clearfix{min-height:1%;}
body{font:12px/180% Arial,Lucida,Verdana,"宋体",Helvetica,sans-serif;color:#333;background:#fff;}
/* shortcut */
.shortcut{position:fixed;top:0;left:0;z-index:9999;width:100%;}
*html,*html body /* 修正IE6振动bug */
{background-image:url(about:blank);background-attachment:fixed;}
*html .shortcut{position:absolute;top:expression(eval(document.documentElement.scrollTop));}
.shortcut{height:28px;line-height:28px;font-size:12px;background:#EEEEEE;text-transform:uppercase;box-shadow:1px 0px 2px rgba(0,0,0,0.2);border-bottom:1px solid #DDDDDD;}
.shortcut h1{font-size:14px;font-family:"微软雅黑","宋体";}
.shortcut a,.shortcut h1{padding:0px 10px;letter-spacing:1px;color:#333;text-shadow:0px 1px 1px #fff;display:block;float:left;}
.shortcut a:hover{background:#fff;}
.shortcut span.right{float:right;}
.shortcut span.right a{float:left;display:block;color:#ff6600;font-weight:800;}
.headeline{height:40px;overflow:hidden;}
.adv960x90{width:960px;height:90px;overflow:hidden;border:solid 1px #E6E6E6;margin:40px auto 0 auto;}
.adv728x90{width:728px;height:90px;overflow:hidden;border:solid 1px #E6E6E6;margin:0 auto;}