jQuery图片展示
 
	 
	 
	 
	 
	 
	 
	 
	 
	 
关于
刚刚整理硬盘时发现这个。当初,在网上看到了个GIF,于是动手改成了jQuery版本的。
结构
<div id="flow">
	<img src="img/IMG_0000.jpg" alt="" />
	<img src="img/IMG_0001.jpg" alt="" />
	<img src="img/IMG_0002.jpg" alt="" />
	<img src="img/IMG_0003.jpg" alt="" />
	<img src="img/IMG_0004.jpg" alt="" />
	<img src="img/IMG_0005.jpg" alt="" />
	<img src="img/IMG_0004.jpg" alt="" />
	<img src="img/IMG_0003.jpg" alt="" />
	<img src="img/IMG_0002.jpg" alt="" />
	<img src="img/IMG_0001.jpg" alt="" />
</div>
<button id="forward">向前</button><button id="backward">向后</button>
样式
<style type="text/css">
#flow{position:relative; width:700px; height:480px;background:#300;border:1em solid #333;}
	#flow img{ position:absolute;width:260px; height:338px; display:none; }
</style>
如何做
首先,新建三个数组,分别用来保存图片对象列表、各个位置的样式、序号:
	var $imgList    = [];
	var styleList   = [];
	var tmp         = [0..n];
然后,为了使页面加载保持流畅,采用一个动画队列的特效来进行初始化:
	// 队列名称
	var qn = 'initQuene' ;
	var init = function() {
		$flow.dequeue(qn);
	}
	// 在初始化时建立队列
	$flow.queue(qn, function() {
		$imgList[n].styleAnimate(styleList[n], config.initSpeed, init);
		});
	});
这里是最关键的一步,在初始化过程中,可以把上面提到的三个用于缓存的数组依次填充。
并且,为了让图片排列得更好看,应该用非线性的间隔距离:
var interval = (Math.pow(zIndex, config.exp) - 1) * ((fw - iw) / 2) / (Math.pow(half, config.exp) - 1);
最后在图片的移动时,就可以用类似于下面的循环数组函数来控制图片顺序和移动的间隔:
  Array.prototype.loop = function(num) {
		var step = Math.abs(isNaN(num) ? 1 : num % this.length);
		return num > 0 
			? this.concat(this.splice(0, step))
			: this.splice(-step).concat(this);
	};
				
	$.each(tmp.loop(-3), function(i, n) {
		$imgList[n].stop().styleAnimate(styleList[i], config.playSpeed);
	});
调用
	$(function() {
		// 更多配置参数见插件最上层
		$('#flow').imgFlow();
	});

 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号