滑动效果怎么做

sohighthesky 2009-09-02 10:22:23
想让点击向右时能看到滑动的效果,为什么不行啊

<html>
<head>
<title>heh</title>
<style type="text/css">
body {
margin:0;
padding:0;
}
ul,ol {
margin:0;
padding:0;
}
td div{
width:150px;
height:170px;
border:solid 1px #060;
}
</style>
</head>
<body>
<input type="button" onclick="left(this)" value="left"/><input type="button" onclick="right(this)" value="right"/>
<div style="border:solid 1px #06c;height:200px;width:90%;overflow:hidden" id="inner">
<table>
<tr>
<td><div>a</div></td>
<td><div>b</div></td>
<td><div>c</div></td>
<td><div>d</div></td>
<td><div>e</div></td>
<td><div>f</div></td>
<td><div>g</div></td>
<td><div>h</div></td>
<td><div>i</div></td>
<td><div>j</div></td>
<td><div>k</div></td>
<td><div>l</div></td>
<td><div>m</div></td>
<td><div>n</div></td>
<td><div>o</div></td>
</tr>
</table>
</div>
</body>
<script type="text/javascript">

var d=document.getElementById("inner");
var left=function(obj) {
//alert(d.scrollLeft);
d.scrollLeft-=156;
}
var right=function(obj) {
// d.scrollLeft+=156;
for(var i=0;i<156;i++) {
(function(i){
setTimeout(function() {
d.scrollLeft+=1;
},100);
})(i)
}
}
</script>
</html>
...全文
373 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
sohighthesky 2009-09-05
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 cloudgamer 的回复:]
在ie下有效果的原因是ie运行太慢所以看到

[/Quote]

这个原因,听着有点搞笑,,,,,

可以了,非常感谢
cloudgamer 2009-09-05
  • 打赏
  • 举报
回复
var e=0
var right=function(obj) {
// d.scrollLeft+=156;
e=d.scrollLeft+156
run()
}

var run = function(){
if(d.scrollLeft>=e){d.scrollLeft=e;return;}
d.scrollLeft+=1;
setTimeout(run,10);
}


改这样看看
cloudgamer 2009-09-05
  • 打赏
  • 举报
回复
在ie下有效果的原因是ie运行太慢所以看到
24K純帥 2009-09-05
  • 打赏
  • 举报
回复
up
spring2007 2009-09-03
  • 打赏
  • 举报
回复
学习
sohighthesky 2009-09-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zjkwangjie 的回复:]
ff下 需要 + 'px'
[/Quote]
应该不是因为这个scrollLeft这个属性获取的值都没有单位的
zjkwangjie 2009-09-03
  • 打赏
  • 举报
回复
ff下 需要 + 'px'
sohighthesky 2009-09-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 beenz 的回复:]
恩,试了下,在ie下可以显示效果。FF下不行,原因是ff下把setTimeout(function() {
                d.scrollLeft+=1;
            },100);
中间“优化”了。直接将156这个offset加上来,所以看不到效果...
[/Quote]

呃,我试了下,IE确实可以,Chrome也不行啊,
哪位帮忙看看?
sohighthesky 2009-09-03
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 sohighthesky 的回复:]
引用 6 楼 kingwolf_javascript 的回复:
ff下 需要 + 'px'

你试试scrollLeft用不用加float  ?
[/Quote]
用不用加px
cil1234 2009-09-03
  • 打赏
  • 举报
回复
同问
sohighthesky 2009-09-03
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 kingwolf_javascript 的回复:]
ff下 需要 + 'px'
[/Quote]
你试试scrollLeft用不用加float ?
浴火_凤凰 2009-09-03
  • 打赏
  • 举报
回复
ff下 需要 + 'px'
BeenZ 2009-09-02
  • 打赏
  • 举报
回复
恩,试了下,在ie下可以显示效果。FF下不行,原因是ff下把setTimeout(function() {
d.scrollLeft+=1;
},100);
中间“优化”了。直接将156这个offset加上来,所以看不到效果...

87,914

社区成员

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

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