滚吧

来源:互联网 发布:今日头条养号软件 编辑:程序博客网 时间:2024/04/27 16:16

/*
******************************************************************
引用本文请不要删除以下信息:

滚动函数--上下左右,想怎么动就怎么动
图片无缝滚动(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"
    }

}
原创粉丝点击