<html>
<head>
<title>左右滚动的图片效果 - 51windows.Net</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#999999"><table border="1" width="760" align="center">
  <tr>
    <td width="215"> </td>
    <td width="545">
<!-- 滚动代码 begin -->
<div id="demo" style="overflow:hidden;height:120px;width:543px;">
<table width="100%" cellspacing="0">
<tr>
<td id="demo1">
<table cellspacing="0" cellspacing="2">
<tr>
<td><a href="http://www.51windows.net/mypic/sight/page_01.htm" target="_blank"><img src="http://www.51windows.net/51wfolder_1/jsimg/TN_Feng016.JPG" border="0"/></a></td>
<td><a href="http://www.51windows.net/mypic/sight/page_01.htm" target="_blank"><img src="http://www.51windows.net/51wfolder_1/jsimg/TN_Feng017.JPG" border="0"/></a></td>
<td><a href="http://www.51windows.net/mypic/sight/page_01.htm" target="_blank"><img src="http://www.51windows.net/51wfolder_1/jsimg/TN_Feng018.JPG" border="0"/></a></td>
<td><a href="http://www.51windows.net/mypic/sight/page_01.htm" target="_blank"><img src="http://www.51windows.net/51wfolder_1/jsimg/TN_Feng019.JPG" border="0"/></a></td>
<td><a href="http://www.51windows.net/mypic/sight/page_01.htm" target="_blank"><img src="http://www.51windows.net/51wfolder_1/jsimg/TN_Feng020.JPG" border="0"/></a></td>
<td><a href="http://www.51windows.net/mypic/sight/page_01.htm" target="_blank"><img src="http://www.51windows.net/51wfolder_1/jsimg/TN_Feng021.JPG" border="0"/></a></td>
</tr>
</table>
</td>
<td id="demo2"></td>
</tr>
</table>
</div>
<!-- 滚动代码 end -->
</td>
  </tr>
</table>
<script>
var speed=50
demo2.innerHTML=demo1.innerHTML
function Marquee(direct){if(direct=="left"){if(demo2.offsetWidth-demo.scrollLeft<=0){demo.scrollLeft-=demo1.offsetWidth;}else{demo.scrollLeft+=2}}}
var MyMar=setInterval(new Function("Marquee('left')"),speed)
demo.onmouseover=function() {clearInterval(MyMar)}
demo.onmouseout=function() {MyMar=setInterval(new Function("Marquee('left')"),speed)}
</script>
</body>
</html>

解决方案 »

  1.   

    如若是这个样子 为什么还是不能够运行呢?
    <script>
    var speed=50
    demo2.innerHTML=demo1.innerHTML
    function MarqueeTest(direct,MainId,contentId,copyId){
      var objMain = document.getElementById(MainId);
        var objContent = document.getElementById(contentId);
        var objCopy = document.getElementById(copyId);
        var mainWidth = objMain.offsetWidth
        var contentWidth = objContent.offsetWidth
        var copyWidth = objCopy.offsetWidth;
        var mainHeight = objMain.offsetHeight;
        var contentHeight = objContent.offsetHeight;
        var copyHeight = objCopy.offsetHeight;
        if (direct=="LEFT"){
            if (copyWidth-objMain.scrollLeft<=0){
                objMain.scrollLeft-=contentWidth;
            }else{
                objMain.scrollLeft+=2;
            }
        }else if (direct=="RIGHT"){
            if (copyWidth-mainWidth-objMain.scrollLeft>=0){
                objMain.scrollLeft=contentWidth + copyWidth - mainWidth;
            }else{
                objMain.scrollLeft-=2;
            }
        }else if (direct=="UP"){
            if (copyHeight-objMain.scrollTop<=0){
                objMain.scrollTop-=contentHeight;
            }else{
                objMain.scrollTop+=2;
            }
        }else if (direct=="DOWN"){
            if (copyHeight-mainHeight-objMain.scrollTop>=0){
                objMain.scrollTop=contentHeight + copyHeight - mainHeight;
            }else{
                objMain.scrollTop-=2;
            }      
        }
    }var v1Scroll = setInterval(new function("MarqueeTest('LEFT','demo','demo1','demo2')"),speed);
    v1demo.onmouseover=function() {clearInterval(v1Scroll)}
    v1demo.onmouseout=function() {v1Scroll=setInterval(new function("MarqueeTest('LEFT','demo','demo1','demo2')"),speed)}</script>
    </body>
    </html>
      

  2.   

    为什么var MyMar=setInterval(new Function("Marquee('left')"),speed)
    demo.onmouseout=function() {MyMar=setInterval(new Function("Marquee('left')"),speed)}两个地方要加new Function()?