【问题标题】:html accordion shows panel-heading not panel-titlehtml手风琴显示面板标题而不是面板标题
【发布时间】:2018-07-14 18:56:03
【问题描述】:

我的网站中有这样的结构:

<div class="panel panel-default">
    <div class="panel-heading">
        <h4 class="panel-title">
            <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne"><strong>Title</strong></a>
        </h4>
    </div>
    <div id="collapseOne" class="panel-collapse collapse">
        <div class="panel-body">
            <p> Some collapse info </p>
        </div>
    </div>
</div>

因此,当我从上一页按折叠超链接时,下一页会跳转,面板主体折叠在屏幕顶部。我希望它以面板标题为中心在屏幕顶部跳转。我怎样才能做到这一点? Javascript代码:

$(function(){

// check if there is a hash in the url
if ( window.location.hash != '' )
{
    // remove any accordion panels that are showing (they have a class of 'in')
    $('.collapse').removeClass('in');

    // show the panel based on the hash now:
    $(window.location.hash + '.collapse').addClass('in');
}

});

当我点击超链接项目的第一页时,它会跳转到第二页并在浏览器顶部位置显示第一张图片。我想做的是在浏览器顶部显示第二张图片。这个想法是我有多个项目的列表,当我点击第一页时,我看不到列表的标题,只有正文。我需要向上滚动一点才能看到标题。 Image1 Image2

首页

<article class="style5">
    <span class="image">
        <img src="pictureOFitem" alt="" />
    </span>
    <a href="SecondPage.html#collapseOne">
        <h2>Info</h2>
    </a>
</article>

我的意思是说“浏览器排名靠前”Image3

【问题讨论】:

  • 注意你的标签java应该是javascript。 Java != javascript
  • 你使用的是哪个库?
  • 我只使用引导程序。你对那个javascript感到抱歉*
  • 我不认为我理解你。是css问题——如何让标题居中,还是js问题——进入页面时如何关注某个元素?
  • @KorelK 我更新了信息以更清楚我需要得到什么。

标签: javascript html


【解决方案1】:

我认为应该做的工作:

首页:

<article class="style5">
    <span class="image">
        <img src="pictureOFitem" alt="" />
    </span>
    <a href="SecondPage.html#title"><!--Pay attention to the id-->
        <h2>Info</h2>
    </a>
</article>

第二页:

<div id="title">
    <div id="accordion"><!-- You forgot this one in your post -->
        <div class="panel panel-default">
            <div class="panel-heading">
                <h4 class="panel-title">
                    <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-controls="collapseOne"><strong>Title</strong></a>
                </h4>
            </div>
            <div id="collapseOne" class="panel-collapse collapse">
                <div class="panel-body">
                    <p> Some collapse info </p>
                </div>
            </div>
        </div>
    </div>
</div>

编辑:要自动显示折叠部分,您可以在第二页中使用:

<script>
    $(function() {
        $('#title .collapse').addClass('show');
    });
</script>

或者带有折叠效果:

<script>
    $(function() {
        setTimeout(function() {
            $('#title [data-toggle="collapse"]').click();
        },1000);
    });
</script>

【讨论】:

  • 例如,在第一页我有一个列表,其中包含 20 个我最受欢迎的服务。在第二页中,我将它们全部作为折叠的服务标题和信息(关闭折叠中的信息)。当我单击任何项​​目的第一页时,我需要将它扔到第二页并折叠(打开)我选择的正确服务,标题在顶部并打开信息。此时,当它打开第二页时,我只看到折叠(打开)的信息。标题有点上面。就像在我添加的 Image3 中一样。
  • 当您通过链接重定向到第二页时,您会重定向到那里的特定 id,该特定 id 是使该偏移量从页面顶部的原因。你试过我的代码了吗?
  • 我有这个
    ,只是忘记复制到这里了。问题是我需要重定向到特定的标题,只打开那个特定的“一些折叠信息”。通过在第一页设置 collapseOne id 效果很好。当我尝试在标题 div 中设置此 id 时,它可以按我的意愿工作,但它不会打开“某些折叠信息”。
  • 您的 sn-p 效果很好,几乎如我所愿。它重定向到在浏览器顶部位置具有特定服务的第二页,但它没有打开这个“一些崩溃信息”。当我点击第一页中的项目时,我需要它来打开它。
  • 我已经编辑了答案,我认为现在一切正常:)
猜你喜欢
相关资源
最近更新 更多
热门标签