下面是我的代码<div id="exhib_1" class="border">
<div id="rolllink" style="overflow: hidden; padding-left: 10px; width: 250px; height: 130px">
<div id="rolllink1">
<asp:Repeater ID="Repeater" runat="server" OnItemDataBound="Repeater_ItemDataBound">
<ItemTemplate>
<table cellspacing="0" cellpadding="0" border="0" width="100%">
<tr>
<td style="width: 12px; padding-right: 5px; vertical-align: middle">
<asp:Image ID="Image2" ImageUrl="images/birthday.gif" runat="server" alt="" />
</td>
<td style="color: black; width: 50px">
<%#Eval("TRUENAME").ToString()%>
</td>
<td style="color: black;">
<%#Eval("birth").ToString()%>
</td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
</div>
<div id="rolllink2">
</div>
</div> <script type="text/javascript"> var rollspeed = 40
rolllink2.innerHTML = rolllink1.innerHTML
function Marquee() {
if (rolllink2.offsetTop - rolllink.scrollTop <= 0)
rolllink.scrollTop -= rolllink1.offsetHeight
else {
rolllink.scrollTop++
}
}
var MyMar = setInterval(Marquee, rollspeed)
rolllink.onmouseover = function() { clearInterval(MyMar) }
rolllink.onmouseout = function() {
MyMar = setInterval(Marquee, rollspeed)
}
</script></div>
我的疑问是 这段滚动div的js 只是在当绑定的数据 大于外层div的时候 才会滚动 因为我这里的数据不固定 有时多 有时少 所以当少的情况下 会出现这种情况:
1、首先 执行 rolllink2.innerHTML = rolllink1.innerHTML这个时候 div rolllink1 和 div rolllink2 都有值,滚动的时候 将 这两个div的数据滚动完了 就不滚动了
我想要的结果是 不管数据多少 就一直循环滚动 怎么搞?各位帮帮看看!
<div id="rolllink" style="overflow: hidden; padding-left: 10px; width: 250px; height: 130px">
<div id="rolllink1">
<asp:Repeater ID="Repeater" runat="server" OnItemDataBound="Repeater_ItemDataBound">
<ItemTemplate>
<table cellspacing="0" cellpadding="0" border="0" width="100%">
<tr>
<td style="width: 12px; padding-right: 5px; vertical-align: middle">
<asp:Image ID="Image2" ImageUrl="images/birthday.gif" runat="server" alt="" />
</td>
<td style="color: black; width: 50px">
<%#Eval("TRUENAME").ToString()%>
</td>
<td style="color: black;">
<%#Eval("birth").ToString()%>
</td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
</div>
<div id="rolllink2">
</div>
</div> <script type="text/javascript"> var rollspeed = 40
rolllink2.innerHTML = rolllink1.innerHTML
function Marquee() {
if (rolllink2.offsetTop - rolllink.scrollTop <= 0)
rolllink.scrollTop -= rolllink1.offsetHeight
else {
rolllink.scrollTop++
}
}
var MyMar = setInterval(Marquee, rollspeed)
rolllink.onmouseover = function() { clearInterval(MyMar) }
rolllink.onmouseout = function() {
MyMar = setInterval(Marquee, rollspeed)
}
</script></div>
我的疑问是 这段滚动div的js 只是在当绑定的数据 大于外层div的时候 才会滚动 因为我这里的数据不固定 有时多 有时少 所以当少的情况下 会出现这种情况:
1、首先 执行 rolllink2.innerHTML = rolllink1.innerHTML这个时候 div rolllink1 和 div rolllink2 都有值,滚动的时候 将 这两个div的数据滚动完了 就不滚动了
我想要的结果是 不管数据多少 就一直循环滚动 怎么搞?各位帮帮看看!
if(_width>jQuery(".index_bsfw").width()){
var _html=jQuery(".index_bsfw").html();
jQuery(".index_bsfw").append(_html);
_bsfw=setInterval("bsfw_run()",speed);
jQuery(".index_bsfw").mouseover(function(){
clearInterval(_bsfw);
});
jQuery(".index_bsfw").mouseout(function(){
_bsfw=setInterval("bsfw_run()",speed);
});
//bsfw_run();
}
function bsfw_run(){
var _st = parseInt(jQuery(".index_bsfw").scrollLeft());
var _po=jQuery(".index_bsfw ul").eq(1).position().left - jQuery(".index_bsfw").position().left;
if(_po<=5){
jQuery(".index_bsfw").scrollLeft(0);
}
else{
jQuery(".index_bsfw").scrollLeft(_st + 1);
}
//alert(jQuery(".index_bsfw").scrollLeft());
}参考这个
var _st = parseInt(jQuery(".index_bsfw").scrollLeft());
var _po=jQuery(".index_bsfw ul").eq(1).position().left - jQuery(".index_bsfw").position().left;用第二个ul的位置和父层位置来做判断