Bootstrap   发布时间:2022-04-18  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了twitter-bootstrap – 如何使Bootstrap 3折叠的手风琴面板放在其内容的顶部,而不是一半?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一系列引导3手风琴小组,其中包含了大量内容,几乎可以正常工作…他们按需要加载折叠,打开时应该点击,折叠任何其他打开的面板;都好…

但是当我打开panel 1并向下滚动其内容,然后打开panel 2,Panel 2的内容通过可视浏览器窗口的顶部加载“向上”;意思是用户必须向上滚动才能看到面板2的顶部.令人沮丧!

我希望Panel 2加载,所以它的顶部在浏览器窗口中可见.

Here’s a JSFiddle

<div class="panel-group" id="accordion">
    <!-- first panel -->
    <div class="panel panel-default">
        <div class="panel-heading"> 
            <span class="strong">
                <a data-toggle="collapse" data-parent="#accordion"
                   href="#collapSEOne" id="preDict">
                   Gettysburg <span class="caret"></span>
                </a>
            </span>
        </div>
        <div id="collapSEOne" class="panel-collapse collapse">
            <div class="panel-body">
                <!--LOTS OF CONTENT - replaced with image-->
                <img src="http://i.imgur.com/AMhADP1.png" />
            </div>
        </div>
    </div>

    <!-- second panel -->
    <div class="panel panel-default">
        <div class="panel-heading">
            <span class="strong">
                <a data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" id="aries">
                    BACkground <span class="caret"></span>
                </a>
            </span>
        </div>
        <div id="collapseTwo" class="panel-collapse collapse">
            <div class="panel-body">
                <!--LOTS OF CONTENT - replaced with image-->
                <img src="http://imgur.com/j98Q0H8.png" />
            </div>
        </div>
    </div>
</div>

有什么想法可以解决这个问题吗?

解决方法

浏览器将始终尝试保持其在页面中的当前位置,即使您崩溃/显示可能会中断该位置的大元素.

你可以用Gokhan建议的两部分方法解决这个问题:

>点击手风琴显示事件的事件处理程序
>滚动显示当前面板的顶部.

第一部分很简单.从Collapse Events Docs我们会发现:

我们会听这样的事件:

$('#accordion').on('shown.bs.collapse',function (E) {
   var id = $(e.target).prev().find("[id]")[0].id;
   navigatetoElement(id);
})

在所示事件中,我调用一个函数navigatetoElement,并将其从可见面板的头部传递到id中.导航功能将使用jquery的animate滚动到id的位置:

function navigatetoElement(id) {
    $('html,body').animate({
        scrollTop: $("#" + id).offset().top
    },1000);
}

Working Demo in jsFiddle

大佬总结

以上是大佬教程为你收集整理的twitter-bootstrap – 如何使Bootstrap 3折叠的手风琴面板放在其内容的顶部,而不是一半?全部内容,希望文章能够帮你解决twitter-bootstrap – 如何使Bootstrap 3折叠的手风琴面板放在其内容的顶部,而不是一半?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。