//ulroll var ulroll = function(id, dir, vt) { var scrollbox = document.getelementbyid(id); //滚动外层遮挡框架 if (!scrollbox) return false; var oldcontent = scrollbox.getelementsbytagname("ul")[0]; //ul index=0; if (!oldcontent) return false; var domeone = scrollbox.getelementsbytagname("li"); // li if (!domeone.length) return false; var domeonelen = domeone.length; var oldlong = 0; //旧总长 var newlong = 0; //新总长-外层框架长度 var newcontent = oldcontent.innerhtml; if (dir == "1") { for (var i = 0; i < domeonelen; i++) { oldlong += domeone[i].offsetwidth; } while (newlong < (scrollbox.offsetwidth)) { newcontent += oldcontent.innerhtml; newlong += oldlong; } } else if (dir == "2") { for (var i = 0; i < domeonelen; i++) { oldlong += domeone[i].offsetheight; } while (newlong < (scrollbox.offsetheight)) { newcontent += oldcontent.innerhtml; newlong += oldlong; } } //判断新ul的总长 oldcontent.innerhtml = newcontent; //生成新的ul var dometwo = scrollbox.getelementsbytagname("li")[domeonelen]; //滚动结束位置 var myroll = function() { if (dir == "1") { if (scrollbox.scrollleft == dometwo.offsetleft) { scrollbox.scrollleft = 0; } else { scrollbox.scrollleft++; } } else if (dir == "2") { if (scrollbox.scrolltop >= dometwo.offsettop) { scrollbox.scrolltop = 0; } else { scrollbox.scrolltop++; } } } //滚动 var timer = setinterval(myroll, vt); //周期性调用滚动 scrollbox.onmouseover = function() { clearinterval(timer) } scrollbox.onmouseout = function() { timer = setinterval(myroll, vt) } } // id=最外层遮挡框架id ,滚动方式dir=1,2 分别对应左 上,vt滚动速度;