使用jquery链接下拉到锚文本

时间:2012-06-21 21:46:28

标签: jquery html

我选择了我的页面上的下拉列表

<select id="select1" size="1" style="background-color:#FFFFD7">
<option>Choose a Position</option>
<option value="1">Job!</option>
<option value="2">Job!</option>
<option value="3">Job!</option>
<option value="4">Job!</option>
<option value="5">Job!</option>
<option value="6">Job!</option>
<option value="7">Job!</option>
<option value="8">Job!</option>
<option value="9">Job!</option>
</select>    

我有一个jquery脚本,我试图一起破解。

    <script type="text/javascript">
    jQuery(document).ready(function() {
        jQuery("#select1").change(function(){
            var jump = jQuery("#select1").val();
            var new_position = jQuery('#job'+jump).offset();
            window.scrollTo(new_position.left,new_position.top);
            return false;
        });​
    }
    </script>

目标是一旦有人选择了这个工作,就会选择一个值,然后进入一个锚链接 在页面下

<a href="job1"></a> 

希望没有刷新。任何帮助将不胜感激!

3 个答案:

答案 0 :(得分:1)

您可以像这样使用animate动画方式滚动到所选元素:

<script type="text/javascript">
jQuery(document).ready(function() {
    jQuery("#select1").change(function(){
        var jump = jQuery("#select1").val();
        var new_position = jQuery('#job'+jump).offset();
        $('body, html').animate({scrollTop, jQuery('#job'+jump).offset().top})
        return false;
    });​
}
</script>

答案 1 :(得分:1)

使用:

window.location.hash="someAnchor";

跳转到锚<a id="someAnchor" />

答案 2 :(得分:1)

这个简单的方法适合我:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>  
<script type="text/javascript">
    function scrollTo(target){
        var targetPosition = $(target).offset().top;
        $('html,body').animate({ scrollTop: targetPosition}, 'slow');
    }
</script>

现在您可以使用onChange事件来执行函数:

<select name="dropdpown" size="1" onChange="scrollTo(this.value)">
    <option value="#link">text</option>
</select>

如果你提供这样的正确链接一切正常

<div id="link"> ...

我花了一段时间,因为我不习惯javascript,但最终找到了一个简单易用的解决方案。

Greetiing mz