//图片滚动列表 mengjia 070816
var Speed = 1; //速度(毫秒)
var Space = 5; //每次移动(px)
var PageWidth = 563; //翻页宽度
var fill = 0; //整体移位
var MoveLock = false;
var MoveTimeObj;
var Comp = 0;
var AutoPlayObj = null;
GetObj("List2").innerHTML = GetObj("List1").innerHTML;
GetObj('ISL_Cont').scrollLeft = fill;
GetObj("ISL_Cont").onmouseover = function() { clearInterval(AutoPlayObj); }
GetObj("ISL_Cont").onmouseout = function() { AutoPlay(); }
AutoPlay();
function GetObj(objName) { if (document.getElementById) { return eval('document.getElementById("' + objName + '")') } else { return eval('document.all.' + objName) } }
function ISL_GoUp() { //上翻开始
if (MoveLock) return;
clearInterval(AutoPlayObj);
MoveLock = true;
MoveTimeObj = setInterval('ISL_ScrUp();', Speed);
}
function ISL_StopUp() { //上翻停止
clearInterval(MoveTimeObj);
if (GetObj('ISL_Cont').scrollLeft % PageWidth - fill != 0) {
Comp = fill - (GetObj('ISL_Cont').scrollLeft % PageWidth);
CompScr();
} else {
MoveLock = false;
}
AutoPlay();
}
function ISL_ScrUp() { //上翻动作
if (GetObj('ISL_Cont').scrollLeft <= 0) { GetObj('ISL_Cont').scrollLeft = GetObj('ISL_Cont').scrollLeft + GetObj('List1').offsetWidth }
GetObj('ISL_Cont').scrollLeft -= Space;
}
function ISL_GoDown() { //下翻
clearInterval(MoveTimeObj);
if (MoveLock) return;
clearInterval(AutoPlayObj);
MoveLock = true;
ISL_ScrDown();
MoveTimeObj = setInterval('ISL_ScrDown()', Speed);
}
function ISL_StopDown() { //下翻停止
clearInterval(MoveTimeObj);
if (GetObj('ISL_Cont').scrollLeft % PageWidth - fill != 0) {
Comp = PageWidth - GetObj('ISL_Cont').scrollLeft % PageWidth + fill;
CompScr();
} else {
MoveLock = false;
}
AutoPlay();
}
function ISL_ScrDown() { //下翻动作
if (GetObj('ISL_Cont').scrollLeft >= GetObj('List1').scrollWidth) { GetObj('ISL_Cont').scrollLeft = GetObj('ISL_Cont').scrollLeft - GetObj('List1').scrollWidth; }
GetObj('ISL_Cont').scrollLeft += Space;
}
function CompScr() {
var num;
if (Comp == 0) { MoveLock = false; return; }
if (Comp < 0) { //上翻
if (Comp < -Space) {
Comp += Space;
num = Space;
} else {
num = -Comp;
Comp = 0;
}
GetObj('ISL_Cont').scrollLeft -= num;
setTimeout('CompScr()', Speed);
} else { //下翻
if (Comp > Space) {
Comp -= Space;
num = Space;
} else {
num = Comp;
Comp = 0;
}
GetObj('ISL_Cont').scrollLeft += num;
setTimeout('CompScr()', Speed);
}
}<div class="first_container" id="first_container">
<div class="first_sidebar1">
<%--<img src="images/niu_1.jpg" alt="向左移动" onclick="moverscroll('test','right');" onmouseout="clearInterval(scrolltime_right)" onmouseover="scrooll_cx_right('test')" />--%>
<a onmousedown="ISL_GoUp()" onmouseup="ISL_StopUp()" onmouseout="ISL_StopUp()"><img src="images/niu_1.jpg" /></a>
<!-- end #first_sidebar1 --></div>
<div class="first_sidebar2">
<div style="float:left"><%--<img src="images/niu_2.jpg" alt="向右移动" onclick="moverscroll('test','left');" onmouseout="clearInterval(scrolltime_left)" onmouseover="scrooll_cx_left('test')"/>--%>
<a onmousedown="ISL_GoDown()" onmouseup="ISL_StopDown()" onmouseout="ISL_StopDown()"><img src="images/niu_2.jpg" /></a>
</div>
<!-- end #first_sidebar2 --></div>
<%--<div class="first_top_menu_div" id="test">--%>
<div class="first_top_menu_div" id="ISL_Cont">
<div id="List1">
<ul>
<asp:DataList ID="DataList2" runat="server" RepeatColumns="15">
<ItemTemplate>
<li id="tu3">
<div class="topMenu_txt"><a href="prodetail.aspx?id=<%# Eval("id")%>&did=<%#Eval("did") %>&xid=<%#Eval("xid") %>"><img src="<%#Eval("pic") %>" width="80" height="55" id="tu2"/></a></div>
</li>
</ItemTemplate>
</asp:DataList>
</ul>
<div style="clear:right;"></div>
<!-- end #mainContent -->
</div>
</div>
</div>
我从网上找到的这个图片滚动效果,它默认的效果应该是比如说一组6张,图片总量就必须是6的倍数,现在由于实际情况,无法摆出6的倍数,是15个图,所以滚动出现了点问题,就是往右移动,到最后一张图时就不能在移动了,这没问题,但是往左移动到第一张图时,还能往左移,由于不是6的倍数,会闪过最后3张图,意思就是目前显示的时图1到6,应该不能在左移,但是这段代码可以继续左移,如果左移,显示的是图7-12,13-15三张会闪过,就是这问题,求高手帮我看看我该怎么改,让它到第一张后不能再移
var Speed = 1; //速度(毫秒)
var Space = 5; //每次移动(px)
var PageWidth = 563; //翻页宽度
var fill = 0; //整体移位
var MoveLock = false;
var MoveTimeObj;
var Comp = 0;
var AutoPlayObj = null;
GetObj("List2").innerHTML = GetObj("List1").innerHTML;
GetObj('ISL_Cont').scrollLeft = fill;
GetObj("ISL_Cont").onmouseover = function() { clearInterval(AutoPlayObj); }
GetObj("ISL_Cont").onmouseout = function() { AutoPlay(); }
AutoPlay();
function GetObj(objName) { if (document.getElementById) { return eval('document.getElementById("' + objName + '")') } else { return eval('document.all.' + objName) } }
function ISL_GoUp() { //上翻开始
if (MoveLock) return;
clearInterval(AutoPlayObj);
MoveLock = true;
MoveTimeObj = setInterval('ISL_ScrUp();', Speed);
}
function ISL_StopUp() { //上翻停止
clearInterval(MoveTimeObj);
if (GetObj('ISL_Cont').scrollLeft % PageWidth - fill != 0) {
Comp = fill - (GetObj('ISL_Cont').scrollLeft % PageWidth);
CompScr();
} else {
MoveLock = false;
}
AutoPlay();
}
function ISL_ScrUp() { //上翻动作
if (GetObj('ISL_Cont').scrollLeft <= 0) { GetObj('ISL_Cont').scrollLeft = GetObj('ISL_Cont').scrollLeft + GetObj('List1').offsetWidth }
GetObj('ISL_Cont').scrollLeft -= Space;
}
function ISL_GoDown() { //下翻
clearInterval(MoveTimeObj);
if (MoveLock) return;
clearInterval(AutoPlayObj);
MoveLock = true;
ISL_ScrDown();
MoveTimeObj = setInterval('ISL_ScrDown()', Speed);
}
function ISL_StopDown() { //下翻停止
clearInterval(MoveTimeObj);
if (GetObj('ISL_Cont').scrollLeft % PageWidth - fill != 0) {
Comp = PageWidth - GetObj('ISL_Cont').scrollLeft % PageWidth + fill;
CompScr();
} else {
MoveLock = false;
}
AutoPlay();
}
function ISL_ScrDown() { //下翻动作
if (GetObj('ISL_Cont').scrollLeft >= GetObj('List1').scrollWidth) { GetObj('ISL_Cont').scrollLeft = GetObj('ISL_Cont').scrollLeft - GetObj('List1').scrollWidth; }
GetObj('ISL_Cont').scrollLeft += Space;
}
function CompScr() {
var num;
if (Comp == 0) { MoveLock = false; return; }
if (Comp < 0) { //上翻
if (Comp < -Space) {
Comp += Space;
num = Space;
} else {
num = -Comp;
Comp = 0;
}
GetObj('ISL_Cont').scrollLeft -= num;
setTimeout('CompScr()', Speed);
} else { //下翻
if (Comp > Space) {
Comp -= Space;
num = Space;
} else {
num = Comp;
Comp = 0;
}
GetObj('ISL_Cont').scrollLeft += num;
setTimeout('CompScr()', Speed);
}
}<div class="first_container" id="first_container">
<div class="first_sidebar1">
<%--<img src="images/niu_1.jpg" alt="向左移动" onclick="moverscroll('test','right');" onmouseout="clearInterval(scrolltime_right)" onmouseover="scrooll_cx_right('test')" />--%>
<a onmousedown="ISL_GoUp()" onmouseup="ISL_StopUp()" onmouseout="ISL_StopUp()"><img src="images/niu_1.jpg" /></a>
<!-- end #first_sidebar1 --></div>
<div class="first_sidebar2">
<div style="float:left"><%--<img src="images/niu_2.jpg" alt="向右移动" onclick="moverscroll('test','left');" onmouseout="clearInterval(scrolltime_left)" onmouseover="scrooll_cx_left('test')"/>--%>
<a onmousedown="ISL_GoDown()" onmouseup="ISL_StopDown()" onmouseout="ISL_StopDown()"><img src="images/niu_2.jpg" /></a>
</div>
<!-- end #first_sidebar2 --></div>
<%--<div class="first_top_menu_div" id="test">--%>
<div class="first_top_menu_div" id="ISL_Cont">
<div id="List1">
<ul>
<asp:DataList ID="DataList2" runat="server" RepeatColumns="15">
<ItemTemplate>
<li id="tu3">
<div class="topMenu_txt"><a href="prodetail.aspx?id=<%# Eval("id")%>&did=<%#Eval("did") %>&xid=<%#Eval("xid") %>"><img src="<%#Eval("pic") %>" width="80" height="55" id="tu2"/></a></div>
</li>
</ItemTemplate>
</asp:DataList>
</ul>
<div style="clear:right;"></div>
<!-- end #mainContent -->
</div>
</div>
</div>
我从网上找到的这个图片滚动效果,它默认的效果应该是比如说一组6张,图片总量就必须是6的倍数,现在由于实际情况,无法摆出6的倍数,是15个图,所以滚动出现了点问题,就是往右移动,到最后一张图时就不能在移动了,这没问题,但是往左移动到第一张图时,还能往左移,由于不是6的倍数,会闪过最后3张图,意思就是目前显示的时图1到6,应该不能在左移,但是这段代码可以继续左移,如果左移,显示的是图7-12,13-15三张会闪过,就是这问题,求高手帮我看看我该怎么改,让它到第一张后不能再移
下载地址:http://www.popub.net/script/MSClass.js