EasyShop/Content/images2/mkl/carousel.js

(开头部分) 3KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

/**
 * carousel (Version 1.4)
 * @author lv ming (akm107@163.com)
 *
 * Create a carousel
 * @example new Carousel(container,showCount,options);
 * on Jquery
 *
 */
function Carousel(container,showCount,options){
	this.container=$(container);
	this.clip=$(container+' .J_carousel_clip');
	this.list=$(container+' .J_carousel_list');
	this.item=$(container+' .J_carousel_item');
	this.trigger=$(container+' .J_carousel_trigger');
	this.showCount=showCount;
	this.timer=null;
	this.options=$.extend({
		auto:true,
		delay:4,
		duration:100,
		etype:'click',
		num:showCount,
		vertical:false
		},options);
	this.init();
	}
Carousel.prototype={
	init:function(){
		var _this=this,
			item=this.item, list=this.list, options=this.options,
			auto=!!options.auto, vertical=!!options.vertical,
			itemLen=item.length, itemW=item.outerWidth(true), itemH=item.outerHeight(true), itemWH=vertical?item.outerHeight(true):item.outerWidth(true);
		list[vertical?'height':'width'](itemWH*itemLen).css({position:'absolute'});
		var listW=list.outerWidth(true), listH=list.outerHeight(true);
		this.clip.css({position:'relative',overflow:'hidden',width:(vertical?Math.max(listW,itemW):itemWH*this.showCount),height:(vertical?itemWH*this.showCount:Math.max(listH,itemH))});
		if(itemLen <= this.showCount){
			this.trigger.hide();
			return;
			}
		this.trigger.bind(options.etype,this._trigger(this,itemWH));
		if(auto){
			this._auto();
			this.container.hover(function(){_this._stop();},function(){_this._auto();});
			}
		},
	_trigger:function(_this,itemWH){
		return function(e){
			var listLast, listFirst,
				trigger=_this.trigger, list=_this.list, showCount=_this.showCount, options=_this.options, etype=options.etype, duration=options.duration, oNum=options.num,
				vertical=!!options.vertical,
				itemLen=_this.item.length, num=itemLen/showCount<2||itemLen/oNum<2 ? (itemLen/showCount<2 ? (oNum<itemLen%showCount ? oNum : itemLen%showCount) : showCount) : oNum,
				targetClass=e.target.className, animatePara=vertical?[{top:0,opacity:1},{top:-itemWH*num,opacity:1}]:[{left:0,opacity:1},{left:-itemWH*num,opacity:1}];
				//opacity修正IE下大图滚动视觉断开bug
			if(/prev/i.test(targetClass)){
				trigger.unbind(etype);
				for(var i=0,len=num; i<len; i++){
					listLast=list.find('.J_carousel_item:last');
					listLast.prependTo(list);
					}
后面还有 32 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。