如果选择<选项>,请向下滚动页面?</option>

时间:2012-11-19 17:15:04

标签: javascript scroll

无论如何我能做出那件事吗? 所以,如果我们滚动一个选项,它会向下滚动到我想要的地方吗?

例如:

<select name="test>
<option>a</option>
<option>b</option>
</select>

1 个答案:

答案 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;
};​​​

JS Fiddle demo

或者:

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);
};​

JS Fiddle demo