﻿/*

//这里是修改之后的情况的可用

<div class="marquee level">
<table border="0" cellpadding="0">
	<tr>
		<td><img src="images/indexL1.JPG" class="scrollImg" /></td>
		<td><img src="images/indexL1.JPG" class="scrollImg" /></td>
		<td><img src="images/indexL1.JPG" class="scrollImg" /></td>
		<td><img src="images/indexL1.JPG" alt="3" class="scrollImg" /></td>
	</tr>
	<tr>
		<td><a href="#" class="scrolLink tc2">text1</a></td>
		<td><a href="#" class="scrolLink tc2">text2</a></td>
		<td><a href="#" class="scrolLink tc2">text2</a></td>
		<td><a href="#" class="scrolLink tc2">text3</a></td>
	</tr>
</table>
</div>
$(function(){$('.marquee').marquee({direction:"left", step:1, pause:0});});

//下面是旧的

<div id="marquee"> 
    <ul> 
        <li><img src="image/1.jpg" alt="1"></li> 
        <li><img src="image/2.jpg" alt="2"></li> 
        <li><img src="image/3.jpg" alt="3"></li> 
    </ul> 
</div> 
$(document).ready(function(){  
    $("#marquee").marquee({  
        direction: "left",  
        step: 1,  
        pause: 1000  
    });  
}); 
*/
/*
 * jQuery JavaScript Library Marquee Plus 1.0
 * http://mzoe.com/
 *
 * Copyright (c) 2009 MZOE
 * Dual licensed under the MIT and GPL licenses.
 *
 * Date: 2009-05-13 18:54:21
 */
(function($) {
	$.fn.marquee = function(o) {
		//获取滚动内容内各元素相关信息
		o = $.extend({
			speed:		30, // 滚动速度
			step:		1, // 滚动步长
			direction:	'up', // 滚动方向
			pause:		2000 // 停顿时长||'0'
		}, o || {});
		var dIndex = jQuery.inArray(o.direction, ['right', 'down']);
		if (dIndex > -1) {
			o.direction = ['left', 'up'][dIndex];
			o.step = -o.step;
		}
		if (!$(this).children("ul").size())
		{
			_initElement($(this));
		}
		
		
		var mid;
		var div 		= $(this); // 容器对象
		var divWidth 	= div.innerWidth(); // 容器宽
		var divHeight 	= div.innerHeight(); // 容器高
		var ul 			= $("ul", div);
		var li 			= $("li", ul);
		
		if (o.direction == 'left' || o.direction == 'right'){
		//重新调整大小
		ul.width(10000);
		ul.width($("li", ul).outerWidth()*2);
		}


		
		var liSize 		= li.size(); // 初始元素个数
		var liWidth 	= li.width(); // 元素宽
		var liHeight 	= li.height(); // 元素高
		var width 		= liWidth * liSize;
		var height 		= liHeight * liSize;
		



		//alert(width + ";" + divWidth);
		if ((o.direction == 'left' && width > divWidth) || 
			(o.direction == 'up' && height > divHeight)) {
			// 元素超出可显示范围才滚动
			if (o.direction == 'left') {
				ul.width(2 * liSize * liWidth);
				if (o.step < 0) div.scrollLeft(width);
			} else {
				ul.height(2 * liSize * liHeight);
				if (o.step < 0) div.scrollTop(height);
			}
			ul.append(li.clone()); // 复制元素
			mid = setInterval(_marquee, o.speed);
			div.hover(
				function(){clearInterval(mid);},
				function(){mid = setInterval(_marquee, o.speed);}
			);
		}
		

		function _marquee() {
			
			// 滚动
			if (o.direction == 'left') {
				var l = div.scrollLeft();
				if (o.step < 0) {
					div.scrollLeft((l <= 0 ? width : l) + o.step);
				} else {
					div.scrollLeft((l >= width ? 0 : l) + o.step);
				}
				if (l % liWidth == 0) _pause();
			} else {
				var t = div.scrollTop();
				if (o.step < 0) {
					div.scrollTop((t <= 0 ? height : t) + o.step);
				} else {
					div.scrollTop((t >= height ? 0 : t) + o.step);
				}
				if (t % liHeight == 0) _pause();
			}
		}
		function _pause() {
			// 停顿
			if (o.pause > 0) {
				var tempStep = o.step;
				o.step = 0;
				setTimeout(function() {
					o.step = tempStep;
				}, o.pause);
			}
		}
		//初始化ul li
		function _initElement(div){
			if( o.direction == 'up' )
				div.children().wrapAll("<ul style='margin:0; padding:0; list-style:none;'><li style='margin:0;padding:0;'></li></ul>");
			else
				div.children().wrapAll("<ul style='margin:0; padding:0; list-style:none;'><li style='float:left;display:inline;margin:0;padding:0;'></li></ul>");
		}
	};
})(jQuery);


