页面上有许多弹出窗口,其中包含overflow:auto
属性
结构是 -
<div id="popup1">
<div>SomeHTMLSTRUC</div>
<div>SomeHTMLSTRUC</div>
<ul class="scroll"></ul>
</div>
<div id="popup2">
<div>SomeHTMLSTRUC</div>
<div>SomeHTMLSTRUC</div>
<ul class="scroll"></ul>
</div>
这个ul有这类滚动属性。 现在,如果我在其中一个弹出框中滚动到底部。下次打开另一个弹出窗口弹出窗口时如何设置滚动到顶部?
答案 0 :(得分:0)
添加
document.getElementById('popup1').children[0].scrollTop = 0;
在打开弹出窗口的代码之前。这假设<ul>
是<div>
中唯一的直接子项。
工作演示:http://jsfiddle.net/sdz8nc3j/
<小时/> 编辑:最近对<ul>
第三个孩子的问题进行了更新,您需要将[0]
更改为[2]
。你也可以找到<ul>
,而不是依赖于孩子的数量:
document.getElementById('popup1').getElementsByTagName('ul')[0].scrollTop = 0;
工作演示:http://jsfiddle.net/sdz8nc3j/3/
<小时/> <小时/> 我也制作了一个jQuery版本,虽然它并没有真正为你节省任何东西。它还会搜索<ul>
。
$popup1 = $("#popup1");
$popup1.click(function(){
$popup1.children('ul').scrollTop(0);
});
答案 1 :(得分:0)
使用此:
document.getElementById("popup1").childNodes[2].scrollTo(0, 0);
如果UL是第三个孩子,这是有效的!
jQuery版本:
$("#popup1").find("ul").scrollTo(0, 0);