JS图片无缝滚动
2012-11-01 20:36:49 来源:WEB开发网核心提示:con.scrollTop = 0;}}function _scrollBottom(){if(con.scrollTop > 0){con.scrollTop -= 2;}else{con.scrollTop = heightHalf;}}}function scrollSP(con_id,speed,dire
con.scrollTop = 0;
}
}
function _scrollBottom(){
if(con.scrollTop > 0){
con.scrollTop -= 2;
}else{
con.scrollTop = heightHalf;
}
}
}
function scrollSP(con_id,speed,direct){
var con,innerCon,timer,items,widthAll,widthHalf;
speed = parseInt(speed);
con = document.getElementById(con_id);
con.style.overflow = "hidden";
items = getChildNodes(con);
if(items.length == 1){
innerCon = items[0];
}else{
return;
}
innerCon.innerHTML += innerCon.innerHTML;
innerCon.innerHTML += innerCon.innerHTML;
items = getChildNodes(innerCon);
if(items.length<1){
return;
}
widthAll = 0;
for(var i=0;i<items.length;i++){
}
for(var i=0;i<items.length;i++){
var numLeft,numRight;
if (!!window.ActiveXObject){
items[i].style.styleFloat = "left";
numLeft = items[i].currentStyle["marginLeft"];
numRight = items[i].currentStyle["marginRight"];
}else{
items[i].style.cssFloat = "left";
numLeft = document.defaultView.getComputedStyle(items[i],null)["marginLeft"];
numRight = document.defaultView.getComputedStyle(items[i],null)["marginRight"];
}
numLeft = parseInt(numLeft);
numRight = parseInt(numRight);
numLeft += numRight;
if(numLeft>0){
widthAll += numLeft;
}
widthAll += items[i].offsetWidth;
}
widthHalf = widthAll/2;
innerCon.style.width = widthAll+"px";
if(direct == "left"){
direct = "left";
}else if(direct == "right"){
direct = "right";
}else{
direct = "left"
}
if(direct == "left"){
timer = setInterval(_scrollLeft,speed);
}else if(direct == "right"){
con.scrollLeft = widthHalf;
timer = setInterval(_scrollRight,speed);
}
con.onmouseover = function(){
if(timer){
clearInterval(timer);
timer = null;
}
}
con.onmouseout = function(){
if(direct == "left"){
timer = setInterval(_scrollLeft,speed);
}else{
timer = setInterval(_scrollRight,speed);
}
}
function _scrollLeft(){
if(con.scrollLeft<widthHalf){
con.scrollLeft += 2;
}else{
con.scrollLeft = 0;
}
}
function _scrollRight(){
if(con.scrollLeft>0){
con.scrollLeft -= 2;
}else{
con.scrollLeft = widthHalf;
}
}
}
function getChildNodes(obj){//获取元素子节点
var childList,list;
childList = new Array();
list = obj.childNodes;
for(var i=0;i<list.length;i++){
if(list[i].nodeType == 1)
childList[childList.length] = list[i];
}
return childList;
}
</script>
</head>
<body>
}
}
function _scrollBottom(){
if(con.scrollTop > 0){
con.scrollTop -= 2;
}else{
con.scrollTop = heightHalf;
}
}
}
function scrollSP(con_id,speed,direct){
var con,innerCon,timer,items,widthAll,widthHalf;
speed = parseInt(speed);
con = document.getElementById(con_id);
con.style.overflow = "hidden";
items = getChildNodes(con);
if(items.length == 1){
innerCon = items[0];
}else{
return;
}
innerCon.innerHTML += innerCon.innerHTML;
innerCon.innerHTML += innerCon.innerHTML;
items = getChildNodes(innerCon);
if(items.length<1){
return;
}
widthAll = 0;
for(var i=0;i<items.length;i++){
}
for(var i=0;i<items.length;i++){
var numLeft,numRight;
if (!!window.ActiveXObject){
items[i].style.styleFloat = "left";
numLeft = items[i].currentStyle["marginLeft"];
numRight = items[i].currentStyle["marginRight"];
}else{
items[i].style.cssFloat = "left";
numLeft = document.defaultView.getComputedStyle(items[i],null)["marginLeft"];
numRight = document.defaultView.getComputedStyle(items[i],null)["marginRight"];
}
numLeft = parseInt(numLeft);
numRight = parseInt(numRight);
numLeft += numRight;
if(numLeft>0){
widthAll += numLeft;
}
widthAll += items[i].offsetWidth;
}
widthHalf = widthAll/2;
innerCon.style.width = widthAll+"px";
if(direct == "left"){
direct = "left";
}else if(direct == "right"){
direct = "right";
}else{
direct = "left"
}
if(direct == "left"){
timer = setInterval(_scrollLeft,speed);
}else if(direct == "right"){
con.scrollLeft = widthHalf;
timer = setInterval(_scrollRight,speed);
}
con.onmouseover = function(){
if(timer){
clearInterval(timer);
timer = null;
}
}
con.onmouseout = function(){
if(direct == "left"){
timer = setInterval(_scrollLeft,speed);
}else{
timer = setInterval(_scrollRight,speed);
}
}
function _scrollLeft(){
if(con.scrollLeft<widthHalf){
con.scrollLeft += 2;
}else{
con.scrollLeft = 0;
}
}
function _scrollRight(){
if(con.scrollLeft>0){
con.scrollLeft -= 2;
}else{
con.scrollLeft = widthHalf;
}
}
}
function getChildNodes(obj){//获取元素子节点
var childList,list;
childList = new Array();
list = obj.childNodes;
for(var i=0;i<list.length;i++){
if(list[i].nodeType == 1)
childList[childList.length] = list[i];
}
return childList;
}
</script>
</head>
<body>
<div id="left_1" class="left_1">
<div class="left_1_i">
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
<div>b</div>
<div>a</div>
</div>
</div>
<script language="javascript">scrollSP("left_1",10,"right");</script>
</body>
</html>
更多精彩
赞助商链接