jQuery的( “元素”。)scrollTop的(0)。不起作用

时间:2015-08-27 21:21:24

标签: javascript jquery css

我有多个这样的标签:

  

[tab 1] [tab 2]

     

- 含量

     

[tab 1] [tab 2]

HTML:

<div class="tabs">

    <ul class="tab-links">
        <li class="active"><a href="#tab1">Tab #1</a></li>
        <li><a href="#tab2">Tab #2</a></li>
    </ul>  

    <div class="tab-content">

        <div id="tab1" class="tab active">#1 content</div>

        <div id="tab2" class="tab">#2 content </div> 

    </div>

    <div class="tabs">

        <ul class="tab-links">
            <li class="active"><a href="#tab1">Tab #1</a></li>
            <li><a href="#tab2">Tab #2</a></li>
        </ul>

    </div>

</div>

正如您所见,标签内容上方和下方都有标签列表。

只要内容很长,用户在更改选项卡列表底部的选项卡时就必须向上滚动页面。

所以,当用户从下面更改标签时,我想自动scrollTop。我将jQuery(".tab-content").scrollTop(0);添加到java脚本代码中。但不知怎的,它没有回应。

的jsfiddle:

http://jsfiddle.net/4m2ut16k/8/

注意:当我将jQuery(".tab-content").scrollTop(0);更改为jQuery(window).scrollTop(0);时,它会有效,但这不是我想要的,因为我的内容不在页面顶部。

无法理解为什么它首先不起作用。有没有人弄清楚是什么问题?

1 个答案:

答案 0 :(得分:4)

您必须将窗口滚动到tabs容器的顶部,您可以使用jquery offset函数获取.tab-content元素的偏移量,然后获取top属性:

jQuery(window).scrollTop(jQuery(".tab-content").offset().top);