帮忙看下左右滚动的 .哪里计算错了啊?

rao3324180 2011-06-09 11:22:35
研究了很久都没参透
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
<script type="text/javascript" src="js/jquery-1.6.js">
</script>
<style>
*{margin:0;padding:0;}
ul{list-style:none outside none}
.fl{float:left;display:inline}
.fr{float:left;display:inline}
#wrap{width:800px;height:130px;margin:20px auto;position:relative;overflow:hidden}
#con{width:3200px;position:absolute;top:0;left:0;}
#con li{width:800px;height:130px;float:left}
.red{background:red;}
.blue{background:blue;}
.yellow{background:yellow;}
.pink{background:pink;}
#text li{width:150px;float:left;}
</style>

</head>

<body>
<div id="before">前进</div>
<div id="wrap">
<div id="con">
<ul>
<li class="red"></li>
<li class="blue"></li>
<li class="yellow"></li>
<li class="pink"></li>
</ul>
</div>
</div>
<div id="after">后退</div>

<div id="text">
<ul>
<li></li>
<li></li>
<li></li>
</ul>
</div>


<script type="text/javascript">

var dir;
var i=0;
var speed = 0;
var timer = null;
var num =0;
var before = document.getElementById("before");
var after = document.getElementById("after");
var text = document.getElementById("text");
function clicks(){
before.onclick = be;
after.onclick = ft;
}
clicks()
function be(){
dir = true;
move();
}
function ft(){
dir = false;
move();
}
function move(){
var con = document.getElementById("con");
var arr = [0,-800,-1600,-2400];
if(dir == true){
if(i == arr.length-1){
return;
}
speed += (arr[i+1] - con.offsetLeft)/5;
con.style.left = parseInt(speed) + "px";

if(speed <= arr[i+1]){
i++;
}
else{
clearTimeout(timer);
timer = setTimeout("move()",20);
}
document.getElementById("text").getElementsByTagName("li")[0].innerHTML += parseInt(speed) + ":"+con.offsetLeft+arr[i+1]+":"+i+"<br />";
}

if(dir == false){
if(i<1){
return;
}
document.getElementById("text").getElementsByTagName("li")[2].innerHTML += parseInt(speed) +":"+con.offsetLeft+":"+arr[i-1]+":"+i+"s" +"<br />";
speed -= (arr[i-1] + con.offsetLeft)/5;
con.style.left = parseInt(speed) + "px";

if( parseInt(speed) == arr[i-1]){
//alert("s") ;
i--;
}
else{
clearTimeout(timer);
timer = setTimeout("move()",20);
}
document.getElementById("text").getElementsByTagName("li")[1].innerHTML += parseInt(speed) +":"+con.offsetLeft+":"+arr[i-1]+":"+i+ "<br />";
}
}
//alert(0 + -159)
</script>

</body>
</html>
...全文
83 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hivensjuphen 2011-06-09
  • 打赏
  • 举报
回复
额,还行!!!!
rao3324180 2011-06-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 kk297173176 的回复:]

额 还是你丫
[/Quote]我不会计算啊.我不想用JQ ,JQ太简单了
kk297173176 2011-06-09
  • 打赏
  • 举报
回复
额 还是你丫
kk297173176 2011-06-09
  • 打赏
  • 举报
回复

87,989

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧