演示文档
html
js 文件:
打包下载:
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=gb2312" />
<title>无标题文档</title>
<script type="text/javascript" src="js/jquery-1.4.min.js"></script>
<script type="text/javascript" src="js/show_img.js"></script>
<style>
ul,li{
margin:0;
padding:0;
}
li{
list-style:none;
}
.img_wrapper{
width:950px;
height:470px;
overflow:hidden;
position:relative;
}
.img_sub_wrapper{
position:absolute;
}
.img_sub_wrapper img{
position:absolute;
display:none;
}
.num_list {
margin-left:865px;
margin-top:440px;
position: absolute;
}
.num_list li{
float:left;
width:15px;
height:20px;
text-align:center;
background:#fefefe;
margin: 0 0 0 3px;
cursor:pointer;
}
.num_list li.hover{
background:#000;
color:#fff;
}
#control{
float:left;
margin:120px 0 0 20px;
}
#img_wrapper{
float:left;
}
</style>
<script type="text/javascript">
$(document).ready(function(){
var show_img = $('#img_wrapper').show_img();
$('#play_btn').click(function(){
show_img.play();
});
$('#pause_btn').click(function(){
show_img.pause();
});
$('#next_btn').click(function(){
show_img.next_img();
});
$('#back_btn').click(function(){
show_img.back_img();
});
$('#show_num_text_btn').click(function(){
show_img.show_number_text();
});
$('#hide_num_text_btn').click(function(){
show_img.hide_number_text();
});
$('#show_num_list_btn').click(function(){
show_img.show_number_list();
});
$('#hide_num_list_btn').click(function(){
show_img.hide_number_list();
});
$('#fade_btn').click(function(){
show_img.set_fade();
});
$('#slide_btn').click(function(){
show_img.set_slide();
});
});
</script>
</head>
<body>
<div id="img_wrapper" class="img_wrapper">
<div id="img_sub_wrapper" class="img_sub_wrapper">
<img src="imgs/01.jpg" style="display:block"/>
<img src="imgs/02.jpg" />
<img src="imgs/04.jpg" />
<img src="imgs/05.jpg" />
</div>
<ul id="num_list" class="num_list"></ul>
</div>
<div id="control">
<input type="button" value="play" id="play_btn" /> <br />
<input type="button" value="pause" id="pause_btn" /> <br />
<input type="button" value="back" id="back_btn" /> <br />
<input type="button" value="next" id="next_btn" /> <br />
<input type="button" value="hide number text" id="hide_num_text_btn" /> <br />
<input type="button" value="show number text" id="show_num_text_btn" /> <br />
<input type="button" value="hide number list" id="hide_num_list_btn" /> <br />
<input type="button" value="show number list" id="show_num_list_btn" /> <br />
<input type="button" value="fade" id="fade_btn" /> <br />
<input type="button" value="slide" id="slide_btn" /> <br />
</div>
</body>
</html>
js 文件:
(function($){
var timer = 0;
var show_img = function(options){
init.call(this,options);
return $.fn.show_img;
};
function init(options){
//alert($(this).find('.img_sub_wrapper').children('img').length);
$.extend({},show_img.defaults,options);
do_next();
show_img.img_list = $(this).find('.img_sub_wrapper').children('img');
show_img.num_list = $(this).find('.num_list');
show_img.defaults.img_length = show_img.img_list.length;
create_number_list();
$($(show_img.num_list).find('li')[show_img.defaults.current_img]).
addClass('hover');
}
function do_next(){
clearTimeout(timer);
if(show_img.defaults.play==1){
timer = setTimeout(function(){
show_img.next_img();
},show_img.defaults.pause_speed+show_img.defaults.speed);
}
}
function create_number_list(){
var html = '';
for(var i=1;i<=show_img.defaults.img_length;i++){
html = '<li class="number_list"><span class="number_text">';
html += i;
html += '</span></li>';
var li = $(html).click((function(n){
return function(){
show_img.show_special_img(n-1);
};
})(i));
$(show_img.num_list).append(li);
}
}
function do_fade(now_index,next_index){
$(show_img.img_list[now_index]).
fadeOut(show_img.defaults.speed);
//alert(show_img.defaults.current_img);
$(show_img.img_list[next_index]).
fadeIn(show_img.defaults.speed);
}
function do_slide(now_index,next_index){
$(show_img.img_list[now_index]).
slideUp(show_img.defaults.speed);
//alert(show_img.defaults.current_img);
$(show_img.img_list[next_index]).
slideDown(show_img.defaults.speed);
}
function do_effect(now_index,next_index){
switch(show_img.defaults.mode){
case 1:
do_fade(now_index,next_index);
case 2:
do_slide(now_index,next_index);
}
$($(show_img.num_list).find('li')[now_index ]).
removeClass('hover');
$($(show_img.num_list).find('li')[next_index]).
addClass('hover');
}
show_img.next_img = function(){
show_img.show_special_img(show_img.defaults.current_img+1);
}
show_img.back_img = function(){
show_img.show_special_img(show_img.defaults.current_img-1);
}
show_img.show_special_img = function(i){
do_next();
var now_index = show_img.defaults.current_img;
var next_index = i;
if(next_index<0){
next_index = show_img.defaults.img_length-1;
}
if(next_index == show_img.defaults.img_length){
next_index = 0;
}
show_img.defaults.current_img = next_index;
do_effect(now_index,next_index);
}
show_img.play = function(){
clearTimeout(timer);
show_img.defaults.play = 1;
do_next();
}
show_img.pause = function(){
clearTimeout(timer);
show_img.defaults.play = 0;
}
show_img.show_number_list = function(){
show_img.defaults.number_list = 1;
$(show_img.num_list).css('display','block');
}
show_img.hide_number_list = function(){
show_img.defaults.number_list = 0;
$(show_img.num_list).css('display','none');
}
show_img.show_number_text = function(){
show_img.defaults.number_text = 1;
$(show_img.num_list).find('span.number_text').css('display','block');
}
show_img.hide_number_text = function(){
show_img.defaults.number_text = 0;
$(show_img.num_list).find('span.number_text').css('display','none');
}
show_img.set_fade = function(){
show_img.defaults.mode = 1;
}
show_img.set_slide = function(){
show_img.defaults.mode = 2;
}
// initial value
show_img.defaults = {
"pause_speed" : 2000,//停顿速度
"speed" : 2000, //缓动速度
"play" : 1,//自动播放
"bg_light" : 0,//背光,0:禁用,1:黑色,2:白色
"mode" : 1,//过渡缓动, 1:fade,2:slide
"thumb" : 0,//是否显示缩略图 ,功能尚未添加
"number_text" : 0,//是否显示列表中的数字
"number_list" : 0,//是否显示列表
"current_img" : 0,//当前图片
// "next_img" : 1,//下一张耀显示的图片
"img_length" : 0//图片总数
};
$.fn.show_img = show_img;
})(jQuery);
打包下载: