﻿//<!-- 
// 附带函数 
var 
// 用ID获取元素 
$ = function(element) { 
return typeof(element) == 'object' ? element : document.getElementById(element); 
}, 
// 生成随机数 
RandStr = function(n, u){ 
var tmStr = "abcdefghijklmnopqrstuvwxyz0123456789"; 
var Len = tmStr.length; 
var Str = ""; 
for(i=1;i<n+1;i++){ 
Str += tmStr.charAt(Math.random()*Len); 
} 
return (u ? Str.toUpperCase() : Str); 
}; 
//--> 


//<!-- 
/******************************************* 
- Marquee 替代 -- 无间滚动 
- By Mudoo 2008.8 
- http://hi.baidu.com/mt20 
******************************************** 
new Marquee({ 
obj : 'myMarquee', // 滚动对象（必须） 
name : 'MyMQ_1', // 实例名（可选，不指定则随机） 
mode : 'x', // 滚动模式（可选，x=水平, y=垂直，默认x） 
speed : 10, // 滚动速度（可选，越小速度越快，默认10） 
autoStart : true, // 自动开始（可选，默认True） 
movePause : true // 鼠标经过是否暂停（可选，默认True） 
}); 
********************************************/ 
var MyMarquees = new Array(); 
// 获取检测实例名 
function getMyMQName(mName) { 
var name = mName==undefined ? RandStr(5) : mName; 
var myNames = ','+ MyMarquees.join(',') +','; 

while(myNames.indexOf(','+ name +',')!=-1) { 
name = RandStr(5); 
} 
return name; 
} 
function Marquee(inits) { 
var _o = this; 
var _i = inits; 

if(_i.obj==undefined) return; 
_o.mode = _i.mode==undefined ? 'x' : _i.mode; // 滚动模式(x:横向, y:纵向) 
_o.mName = getMyMQName(_i.name); // 实例名 
_o.mObj = $(_i.obj); // 滚动对象 
_o.speed = _i.speed==undefined ? 10 : _i.speed; // 滚动速度 
_o.autoStart= _i.autoStart==undefined ? true : _i.autoStart;// 自动开始 
_o.movePause= _i.movePause==undefined ? true : _i.movePause;// 鼠标经过是否暂停 

_o.mDo = null; // 计时器 
_o.pause = false; // 暂停状态 

// 无间滚动初始化 
_o.init = function() { 
if((_o.mObj.scrollWidth<=_o.mObj.offsetWidth && _o.mode=='x') || (_o.mObj.scrollHeight<=_o.mObj.offsetHeight && _o.mode=='y')) return; 

MyMarquees.push(_o.mName); 

// 克隆滚动内容 
_o.mObj.innerHTML = _o.mode=='x' ? ( 
'<table width="100%" border="0" align="left" cellpadding="0" cellspace="0">'+ 
' <tr>'+ 
' <td id="MYMQ_'+ _o.mName +'_1">'+ _o.mObj.innerHTML +'</td>'+ 
' <td id="MYMQ_'+ _o.mName +'_2">'+ _o.mObj.innerHTML +'</td>'+ 
' </tr>'+ 
'</table>' 
) : ( 
'<div id="MYMQ_'+ _o.mName +'_1">'+ _o.mObj.innerHTML +'</div>'+ 
'<div id="MYMQ_'+ _o.mName +'_2">'+ _o.mObj.innerHTML +'</div>' 
); 

// 获取对象、高宽 
_o.mObj1 = $('MYMQ_'+ _o.mName +'_1'); 
_o.mObj2 = $('MYMQ_'+ _o.mName +'_2'); 
_o.mo1Width = _o.mObj1.scrollWidth; 
_o.mo1Height = _o.mObj1.scrollHeight; 

// 初始滚动 
if(_o.autoStart) _o.start(); 
}; 

// 开始滚动 
_o.start = function() { 
_o.mDo = setInterval((_o.mode=='x' ? _o.moveX : _o.moveY), _o.speed); 
if(_o.movePause) { 
_o.mObj.onmouseover = function() {_o.pause = true;} 
_o.mObj.onmouseout = function() {_o.pause = false;} 
} 
} 

// 停止滚动 
_o.stop = function() { 
clearInterval(_o.mDo) 
_o.mObj.onmouseover = function() {} 
_o.mObj.onmouseout = function() {} 
} 

// 水平滚动 
_o.moveX = function() { 
if(_o.pause) return; 
var left = _o.mObj.scrollLeft; 
if(left==_o.mo1Width){ 
_o.mObj.scrollLeft = 0 ; 
}else if(left>_o.mo1Width) { 
_o.mObj.scrollLeft = left-_o.mo1Width; 
}else{ 
_o.mObj.scrollLeft++; 
} 
}; 

// 垂直滚动 
_o.moveY = function() { 
if(_o.pause) return; 
var top = _o.mObj.scrollTop; 
if(top==_o.mo1Height){ 
_o.mObj.scrollTop = 0 ; 
}else if(top>_o.mo1Height) { 
_o.mObj.scrollTop = top-_o.mo1Height; 
}else{ 
_o.mObj.scrollTop++; 
} 
}; 

_o.init(); 
} 
//--> 
