一个奇怪的关于脚本的问题

奇怪的很,同样的一段脚本,在两年前我用asp做的网站上是可以正常工作的,可是在现在的asp.net下做的网站上,却工作起来不正常!
是一个能实现连续滚动的脚本。
功能:实现 http://210.46.97.35(我原来做的黑龙江大学学业导师工作站,后经别人改版)主页上导师向左滚动的效果。

相关的样式:
1 .newslistcBody
2 {} {
3    overflow:hidden;
4    width: 345px;
5    vertical-align: middle;
6    text-align: center;
7    margin-top: 1px;
8    border-top: solid 1px #DEF1DD;
9}



< div  class ="newslistcBody"  runat ="server"  id ="divBody" >
        
< table  style ="margin-top:10px;" >
            
< tr >
                
< td  class ="picnewslist"  id ="divlist"  runat ="server" >
                    
< table >
                        
< tr >
                            
< asp:Repeater  ID ="grdNewsList"  runat ="server"  OnItemDataBound ="grdNewsList_ItemDataBound" >
                                
< ItemTemplate >
                                    
< td  class ="picnewsitem" >
                                        
< div  class ="picnewscontent" >
                                            
< href ="<%# " ~/newsContent" + Eval("NewsID") + ".htm" % > " target="_blank">
                                                
< img  alt =""  src ="<%# " Images/NewsImage/" + Eval("imgurl") % > " title=" <% Eval("Title" %> "
                                                    οnerrοr="this.src='images/error.png';this.title='图片显示错误'" class="imgNews" />
</ a >
                                        
</ div >
                                        
< div  class ="picnewstitle" >
                                            
< asp:HyperLink  ID ="HyperLink1"  runat ="server"  Target ="_blank"  NavigateUrl ='<%#  "~/newsContent" + Eval("NewsID") + ".htm" % > '
                                                Text='
<% # bind("Title" %> '>HyperLink </ asp:HyperLink >
                                        
</ div >
                                    
</ td >
                                
</ ItemTemplate >
                            
</ asp:Repeater >
                        
</ tr >
                    
</ table >
                
</ td >
                
< td  id ="divlist2"  class ="picnewslist" >
                
</ td >
            
</ tr >
        
</ table >
    
</ div >

脚本是这样的:
< script type = " text/javascript " >
    
var  demo0 = document.getElementById( ' <%=divBody.ClientID %> ' );
    
var  demo1 = document.getElementById( ' <%=divlist.ClientID %> ' );
    
var  demo2 = document.getElementById( ' divlist2 ' );
        
var  speed = 50 ;                     // 值越大越慢
        demo2.innerHTML = demo1.innerHTML;
        
function  Marquee1()
        
{
        
//document.getElementById("divtest").innerHTML=demo2.scrollWidth+"-"+ demo0.scrollLeft;
            if(demo2.offsetWidth-demo0.scrollLeft<=0)
            
{
                demo0.scrollLeft 
-= demo1.offsetWidth
            }

            
else
            
{
                demo0.scrollLeft
++
            }

            
//            if(document.getElementById(demo2).offsetTop - document.getElementById(demo).scrollTop <=28)    //如果重合
//
             {
//
                document.getElementById(demo).scrollTop -= document.getElementById(demo1).offsetHeight;        //指定到初始位置
//
             }
//
            else
//
            {
//
                document.getElementById(demo).scrollTop++;
//
            }
        }

        
var  MyMar1 = setInterval(Marquee1,speed)
        demo0.onmouseover
= function ()  {clearInterval(MyMar1)}
        demo0.onmouseout
= function ()  {MyMar1=setInterval(Marquee1,speed)}

< / script>

可能您也已经看到我脚本上调试的痕迹了,这段脚本我仔细检查过,是没有问题的(由于是直接从原来做的网站上粘贴过来的代码,js变量的命名什么的都没有修改,见谅!)。不过有一点使我不解的是,它总是会走一圈或者半圈就停止了。后来经测试,我发现  d emo2.offsetWidth-demo0.scrollLeft<=0 这句话并不总是能够成立,demo2.offsetWidth-demo0.scrollLeft的的最小值有时是71,有时是28.真不知道为什么会是这样?

期望有明白个中原因的兄弟姐妹帮下忙,我实在不知道该如何去处理这个找不到是什么原因的问题了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值