-1

反正我可以做那个东西吗?
所以如果我们滚动一个选项,它会向下滚动到我想要的位置?

例如:

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

1 回答 1

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 小提琴演示

或者:

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 小提琴演示

于 2012-11-19T17:25:50.823 回答