//开始轮播
start();
});
</script>
</head>
<body>
<div class="slider">
<div class="slider-extra">
<ul class="slider-nav">
<li class="slider-item">1</li>
<li class="slider-item">2</li>
<li class="slider-item">3</li>
<li class="slider-item">4</li>
</ul>
<div class="slider-page">
<a class="slider-pre" href="javascript:;;"><</a>
<a class="slider-next" href="javascript:;;">></a>
</div>
</div>
</div>
</body>
</html>
至此一个简单的jquery轮播效果就完成了,当然还有很多需要改进的地方。
使用插件实现
上面的效果看起来还令人满意,唯一不足的就是:每次需要轮播效果时,要将代码复制粘贴过去,如果有些部分需要修改(例如:轮播时的动画效果,前一篇使用的是jquery的淡入淡出效果,如果改成滑动效果,不可避免的要修改js代码),那么就需要对js代码进行修改,对我所写的jquery轮播效果的js代码不熟悉的程序员来说,修改这些js确实很困难。轮播插件所要实现的目标之一就是插件可以灵活配置(不光只是本篇文章的插件),程序员只需要写少量的代码就可以实现丰富的功能,这当然是一件很好的事情。本篇文章的轮播插件的html和css部分需要程序员自己编写,而实现效果的js只需要少量的编写。
这里我们使用到的zslider插件在GitHub上开源:
github:https://github.com/ricciozhang/zslider_v1
嗯,我们来看代码:
(function($, window, document) {
//---- Statics
var DEFAULT_ANIMATE_TYPE = 'fade',
ARRAY_SLICE = [].slice,
ARRAY_CONCAT = [].concat
; //---- Methods
function concatArray() {
var deep = false,
result = [];
if(arguments.length > 0 &&
arguments[arguments.length - 1] === true) {
deep = true;
}
for(var i = 0; i < arguments.length; i++) {
if(!!arguments[i].length) {
if(deep) {
for(var j = 0; j < arguments[i].length; j++) {
//recursive call
result = ARRAY_CONCAT.call(result,
concatArray(arguments[i][j], true));
}
} else {
result = ARRAY_CONCAT.call(result, arguments[i]);
}
} else if(i != arguments.length - 1 ||
(arguments[arguments.length - 1] !== true &&
arguments[arguments.length - 1] !== false)) {
result.push(arguments[i]);
}
}
return result;
}
//----- Core
$.fn.extend({
zslider: function(zsliderSetting, autoStart) {










