读书人

js。或帮忙修改上

发布时间: 2013-01-07 10:02:25 作者: rapoo

求一个js。。。或帮忙修改下
<div class="pxl_2" id="move" style="overflow:hidden">
<div class="pxl_2_1" id="seconde" style="width:<%=width%>px; height:140px;">
<asp:Repeater ID="rep" runat="server">
<ItemTemplate>
<div style="margin-left:10px; float:left" class="pic"><a href='products.aspx?protype=<%#Eval("firprotype") %>'><img src='<%#Eval("proimage") %>' class="img" /></a></div>
</ItemTemplate>
</asp:Repeater>
</div>
<div id="demo2"></div>
</div>

使中间的图片区域滚动起来。。。自己写了一个如下

<script>
var speed = 30;
var demo = document.getElementById("move");
var demo1 = document.getElementById("seconde");
var demo2 = document.getElementById("demo2");
demo2.innerHTML = demo1.innerHTML;
function myMarquee() {
if (demo2.offsetWidth - demo.scrollLeft <= 0)
demo.scrollLeft -= demo1.offsetWidth;
else {
demo.scrollLeft++;
}
}
var MyMar = setInterval(myMarquee, speed);
demo.onmouseover = function () { clearInterval(MyMar) }
demo.onmouseout = function () { MyMar = setInterval(myMarquee, speed) }
</script>


可是不管用,调试说demo1.innerhtml的值为null
[解决办法]
不知道你的js与html代码的位置关系,怀疑你的html元素还没显示就开始执行js了。
试试把js放到
<body>
</body>
下边
后者把js封装到一个函数
function showMarquee()
{
var speed = 30;
var demo = document.getElementById("move");
var demo1 = document.getElementById("seconde");
var demo2 = document.getElementById("demo2");
demo2.innerHTML = demo1.innerHTML;
function myMarquee() {
if (demo2.offsetWidth - demo.scrollLeft <= 0)
demo.scrollLeft -= demo1.offsetWidth;
else {
demo.scrollLeft++;
}
}


var MyMar = setInterval(myMarquee, speed);
demo.onmouseover = function () { clearInterval(MyMar) }
demo.onmouseout = function () { MyMar = setInterval(myMarquee, speed) }
}


然后<body onload =showMarquee();>

读书人网 >JavaScript

热点推荐