js的问题

奇乐二二二 2012-10-20 05:04:21
某个div有横向和纵向两个滚动条,滚动时有什么办法可以知道当前是横向还是纵向滚动吗?查了一下貌似只有onscroll事件。。
...全文
140 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
泡泡鱼_ 2012-10-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
判断scrollLeft和scrollTop属性就知道了


HTML code
<div style="width:200px;height:200px;overflow:auto" id="div1">
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
<br>1<br>1<br>1<br>1<br>1<br>1……
[/Quote]
++
加个默认值就更好些。否则"第一次scroll"时,因为ost和osl的值均为null,会判定为两种状态同时出现


window.onload=function(){
var o=document.getElementById('div1');
o.setAttribute('osl',o.scrollLeft)
o.setAttribute('ost',o.scrollTop);
o.onscroll=function(){
var sl=this.scrollLeft,
st=this.scrollTop,
ost=this.getAttribute('ost'),
osl=this.getAttribute('osl');
if(sl!=osl)alert('水平滚动');
if(st!=ost)alert('垂直滚动');
this.setAttribute('ost',st);
this.setAttribute('osl',sl);
}
}
Go 旅城通票 2012-10-20
  • 打赏
  • 举报
回复
判断scrollLeft和scrollTop属性就知道了

<div style="width:200px;height:200px;overflow:auto" id="div1">
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
<br>1<br>1<br>1<br>1<br>1<br>1<br>1<br>1<br>1<br>1<br>1<br>1<br>1
</div>
<script type="text/javascript">
window.onload=function(){
document.getElementById('div1').onscroll=function(){
var sl=this.scrollLeft,st=this.scrollTop
,ost=this.getAttribute('ost'),osl=this.getAttribute('osl');
if(sl!=osl)alert('水平滚动');
if(st!=ost)alert('垂直滚动');
this.setAttribute('ost',st);
this.setAttribute('osl',sl);
}
}
</script>
__phoenix 2012-10-20
  • 打赏
  • 举报
回复
overflow-x overflow-y.....

87,907

社区成员

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

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