【发布时间】:2016-09-23 12:56:22
【问题描述】:
我有 2 个 php 文件。这是第一个文件:services.php
<a href="#services1" data-collapse-group="servicesgroup" data-toggle="collapse" data-target="#services1">
<div class="button-blue">Learn More</div>
</a>
<a href="#services2" data-collapse-group="servicesgroup" data-toggle="collapse" data-target="#services2">
<div class="button-blue">Learn More</div>
</a>
<div class="solutions">
<div id="services1" class="collapse" >
<section> CONTENT </section>
<section> MORE CONTENT </section>
</div>
<div id="services2" class="collapse" >
<section> CONTENT </section>
<section> MORE CONTENT </section>
</div>
</div>
第二个文件 index.php 有两个必须链接的网络横幅:
第一个 Web 横幅链接到 services.php#services1
第二个 Web 横幅链接到 services.php#services2
当我点击 index.php 中的第一个网页横幅时,我只需要展开 #services1 可折叠 div。
当我点击 index.php 中的第二个网页横幅时,我只需要展开 #services2 可折叠 div。
我当前的 Javascript 函数用于从 services.php 中的按钮展开/折叠:
//Bootstrap Collapse Group from within Page
$("[data-collapse-group='servicesgroup']").click(function () {
var $this = $(this);
$("[data-collapse-group='servicesgroup']:not([data-target='" +
$this.data("target") + "'])").each(function () {
$($(this).data("target")).removeClass("in").addClass('collapse');
});
});
//Bootstrap Scroll Up
$("div").click(function() {
$('html,body').animate({
scrollTop: $(".solutions").offset(500).top},
'slow');
});
用于从另一个页面链接的半功能 Javascript:
这是我发现的唯一一个似乎可以正常工作的 Javascript,因为当我单击 index.php 上的 Web 横幅时,它会在 services.php 页面上打开可折叠的 div,然后是我的服务按钮的功能。 php 不要展开或折叠我的 div。它还会打开所有可折叠 div,当我需要它打开其各自的可折叠 div 时(即单击 index.php 上的第一个或第二个 Web 横幅时 #services1 或 #services2)
$(document).ready(function () {
$(".collapse").hide();
$(".solutions").click(function () {
$(this).next(".collapse").slideToggle(400);
});
if(window.location.hash && window.location.hash.replace("#", "") == "services1"){
$('.collapse').show();
}
});
我是 javascript 新手,所以我需要一步一步的解释或准确的复制和粘贴代码。
感谢任何帮助。
【问题讨论】:
-
$(window.location.hash).collapse('show'); -
@cmorrissey 我看到了您的回复并像这样使用它,但它没有打开任何可折叠的 div:$(document).ready(function () { $(".collapse"). hide(); $(".solutions").click(function () { $(this).next(".collapse").slideToggle(400); }); $(window.location.hash).collapse( '显示'); } });
-
这是因为您一开始没有在 js 中正确使用引导折叠,请查看文档,您应该对所有实例使用
.collapse,而不是.hide或.slideToggle跨度> -
@cmorrissey 哦,好的。谢谢你。我得试一试,看看它是否有效。
-
@cmorrissey 出于某种原因,当我使用
$(window.location.hash).collapse('show');时它不起作用。当我使用$(window.location.hash).toggle();时,它可以工作。它将我直接从 index.php 带到 services.php#anchor 并正确扩展它。我的问题是,当我单击 services.php 页面上的其他折叠按钮(蓝色按钮)以展开同一页面上的另一个部分并折叠打开(window.location.hash)的(window.location.hash)时保持打开状态并且不坍塌。任何帮助将不胜感激。
标签: javascript php hash anchor collapse