当显示元素设置为无时,如何避免屏幕自动滚动
How to avoid screen automatic scrolling when display element is set to none
当单击特定单元格时,我试图隐藏表中的特定行。然而,当目标行块被隐藏时,屏幕会自动滚动到页面顶部。主单元格可单击,并允许隐藏以下关联单元格。我的桌子很大,它们是多个可点击的单元格。
这是我的代码的简单版本:
<tr id="Main1" onclick="hideTr(this.id)"><td><a href="#">Main1</a></td></tr>
<tr class = "main1Tr"><td>Cell1</td>
</tr>
<tr class = "main1Tr"><td>Cell2</td>
</tr>
<tr id="Main2" onclick="hideTr(this.id)"><td><a href="#">Main2</a></td></tr>
<tr class = "main2Tr"><td>Cell3</td>
</tr>
<tr class = "main2Tr"><td>Cell4</td>
</tr>
function hideTr(id){
if(id=="Main1"){
loading = document.getElementsByClassName("main1Tr");
for (var i = 0; i < loading.length; i++){
display = loading[i].style.display;
if(display == "none"){loading[i].style.display="";}
if(display == ""){loading[i].style.display="none";}
}
}
if(id=="Main2"){
loading = document.getElementsByClassName("main2Tr");
for (var i = 0; i < loading.length; i++){
display = loading[i].style.display;
if(display == "none"){loading[i].style.display="";}
if(display == ""){loading[i].style.display="none";}
}
}
}
您必须返回false onclicktry onclick="hideTr(this.id);return false"
您忘记了onclick
处理程序中的return false;
(不在hideTr
中,这不起作用)。这应该可以解决问题。
相关文章:
- 如何将函数包装在函数中以避免代码重复
- 如何将屏幕分辨率乘以 80%,然后在代码中使用
- 在不打开聊天屏幕的情况下制作Zopim-ding代理
- 使用图像数组列表的simplegallary.js显示适合桌面屏幕的图像
- 导航栏没有调整到浏览器屏幕的大小
- 调整屏幕大小后不显示子菜单
- 如何在p5.js中管理多智力竞赛游戏的多个屏幕
- jQuery:当屏幕大小改变时,如何更改默认图像和悬停图像
- 当带有渲染器的DOM元素不在屏幕顶部时,移动了场景的坐标
- 如何知道元素在屏幕上是否可见.如果没有,请滚动页面
- 如果使用javascript函数屏幕太小,我该如何更改HTML文件的背景色
- 如何打开/移动主屏幕左侧的浏览器窗口
- 如何在屏幕外或项目的中心视口中跟随YUI驱动的动画
- 延迟 window.print() 直到页面在 ajax 请求中加载以避免空白打印屏幕
- 避免在移动网站上锁定屏幕
- 如何避免屏幕闪烁与 AngularJs.
- 引导程序 4 - 避免屏幕单击的模式关闭
- 当显示元素设置为无时,如何避免屏幕自动滚动
- python屏幕截图opsview-避免在过时的无头服务器上使用javascript
- 避免android在应用程序(带有Phonegap)打开时关闭屏幕