无论如何我能做出那件事吗? 所以,如果我们滚动一个选项,它会向下滚动到我想要的地方吗?
例如:
<select name="test>
<option>a</option>
<option>b</option>
</select>
答案 0 :(得分:2)
是的,假设您的加价反映了select
选项,我建议,给出以下HTML:
<select id="test">
<option value="a">a</option>
<option value="b">b</option>
<option value="c">c</option>
</select>
<div id="a">
<p>Contents in #a</p>
</div>
<div id="b">
<p>Contents in #b</p>
</div>
<div id="c">
<p>Contents in #c</p>
</div>
您可以使用:
var select = document.getElementById('test');
select.onchange = function(){
window.location.hash = this.getElementsByTagName('option')[this.selectedIndex].value;
};
或者:
var select = document.getElementById('test');
select.onchange = function(){
var id = this.getElementsByTagName('option')[this.selectedIndex].value,
el = document.getElementById(id),
top = el.offsetTop;
window.scrollTo(0,top);
};