/**/ /*
******************************************************************
引用本文请不要删除以下信息:
滚动函数--上下左右,想怎么动就怎么动
图片无缝滚动(1.0 js版本)
走过四季 By 2006-07-28
QQ: 5144707
MSN:maomaoysq@hotmail.com
仅以此作献给我深爱的梅子
免费版本,可任意使用,有什么建议请和我联系
如需商业应用请与本人联系
******************************************************************
说明:
eleID:滚动对象
oWidth:宽度
oHeight:高度
direction:方向
speed:滚动速度
示例:
<DIV id=ScrollMe>
<div>
<img src="*****" height=126 border="0"/>
<img src="*****" height=126 border="0"/>
</div>
</DIV>
<!--script>
var scroll = new hjmScroll("ScrollMe",200,200,"down",50)
scroll.start('scroll')
</script-->
*/
function hjmScroll(eleID, oWidth, oHeight, direction, speed) ... {
var hjm_scrollObj = null
var hjm_Divs = null
var hjm_Dive = null
var ispeed = speed ? speed : 50
hjm_scrollObj = document.getElementById(eleID)
hjm_scrollObj.style.width = oWidth
hjm_scrollObj.style.height = oHeight
hjm_scrollObj.style.overflow = "hidden"
hjm_scrollObj.setAttribute("state", "stop")
hjm_scrollObj.setAttribute("direction", direction ? direction : "left")
hjm_scrollObj.direction = hjm_scrollObj.direction.toLowerCase()
this.start = function(s)...{
if(hjm_scrollObj.innerHTML!="")...{
hjm_scrollObj.state = "scroll"
setInterval(s + '.Scroll()', ispeed)
}
}
var o = hjm_scrollObj.firstChild
if(o!=null)...{
if(hjm_scrollObj.direction=="up" || hjm_scrollObj.direction=="down")...{
o = hjm_scrollObj.firstChild
if(o.tagName !="DIV")...{
var tmpDiv = document.createElement("div")
tmpDiv.innerHTML = o.outerHTML
hjm_scrollObj.removeChild(o)
hjm_scrollObj.appendChild(tmpDiv)
o = hjm_scrollObj.firstChild
}
var scroolHtml = o.innerHTML
while(o.offsetHeight <= oHeight)
o.innerHTML += scroolHtml
var AddHtml = o.innerHTML
hjm_Divs = document.createElement("div")
hjm_Divs.id = eleID+"_1"
hjm_Divs.innerHTML = scroolHtml
hjm_Dive = document.createElement("div")
hjm_Dive.id = eleID+"_2"
hjm_Dive.innerHTML = AddHtml
hjm_scrollObj.removeChild(o)
hjm_scrollObj.appendChild(hjm_Divs)
hjm_scrollObj.appendChild(hjm_Dive)
}
else...{
o = hjm_scrollObj.firstChild
if(o.tagName !="TABLE")...{
var tmpTable = document.createElement("TABLE")
var tmpbody = document.createElement("TBODY")
tmpTable.insertBefore(tmpbody, null)
var tmptr = document.createElement("TR")
var tmptd = document.createElement("TD")
tmptd.innerHTML = o.outerHTML
tmptr.appendChild(tmptd)
tmpbody.appendChild(tmptr)
hjm_scrollObj.removeChild(o)
hjm_scrollObj.appendChild(tmpTable)
o = hjm_scrollObj.firstChild
}
var scroolHtml = o.firstChild.firstChild.firstChild.innerHTML;
while(o.offsetWidth <= oWidth)...{
var tmptr = o.firstChild.firstChild;
var tmptd = document.createElement("TD")
tmptd.innerHTML = scroolHtml
tmptr.appendChild(tmptd)
}
var tbl = document.createElement("TABLE")
tbl.cellspacing = "2"
var tbody = document.createElement("TBODY")
tbl.insertBefore(tbody, null)
var aHtml = scroolHtml;
var bHtml = scroolHtml;
if(hjm_scrollObj.direction=="right")
bHtml = o.outerHTML
else
aHtml = o.outerHTML
var tr = document.createElement("TR")
var td1 = document.createElement("TD")
td1.id = eleID+"_1"
td1.innerHTML = aHtml
var td2 = document.createElement("TD")
td2.id = eleID+"_2"
td2.innerHTML = bHtml
tr.appendChild(td1)
tr.appendChild(td2)
tbody.appendChild(tr)
var o=hjm_scrollObj.firstChild
hjm_scrollObj.removeChild(o)
hjm_scrollObj.appendChild(tbl);
}
hjm_Divs = document.getElementById(eleID+"_1")
hjm_Dive = document.getElementById(eleID+"_2")
}
this.Scroll = function()...{
switch (hjm_scrollObj.state.toLowerCase())
...{
case ('scroll'):
switch (hjm_scrollObj.direction)
...{
case ('left'):
if(hjm_Dive.offsetWidth<=hjm_scrollObj.scrollLeft)
hjm_scrollObj.scrollLeft-=hjm_Divs.offsetWidth
else
hjm_scrollObj.scrollLeft++
break
case ('right'):
if(hjm_scrollObj.scrollLeft<=0)
hjm_scrollObj.scrollLeft+=hjm_Divs.offsetWidth
else
hjm_scrollObj.scrollLeft--
break
case ('up'):
if(hjm_Dive.offsetTop<=hjm_scrollObj.scrollTop)
hjm_scrollObj.scrollTop-=hjm_Divs.offsetHeight
else
hjm_scrollObj.scrollTop++
break
case ('down'):
if(hjm_Divs.offsetTop>=hjm_scrollObj.scrollTop)
hjm_scrollObj.scrollTop+=hjm_Dive.offsetHeight
else
hjm_scrollObj.scrollTop--
break
default:
return
}
break
case ('stop'):
default:
return
}
}
hjm_scrollObj.onmouseover = function()
...{
this.state="stop"
this.runtimeStyle.cursor = "hand"
}
hjm_scrollObj.onmouseout = function()
...{
this.state="scroll"
this.runtimeStyle.cursor = "default"
}
}