通过URL链接打开手风琴(基础v6.3.1)?
问题描述:
是否可以从同一页面上的常规href链接打开Foundation 6.3手风琴菜单?我正在使用最新的Foundation v6.3.1,并且发现了一些关于这样做的信息,但没有任何效果在我的案例中。通过URL链接打开手风琴(基础v6.3.1)?
这篇文章似乎有一个理想的解决方案(Trigger opening of a Zurb Foundation Accordion via URL hash link),但它似乎没有与最新版本?
答
是的,有一些替代方法,它的实际应用方式取决于你想达到的目的,但基本上答案是:“使用JavaScript”。
这是我的方法:
- 添加识别要打开的每个选项卡的内容的一种手段。在下面我添加了一个新的数据属性(
data-remote
)到.accordion-content
。 - 创建一个链接,该链接的id与您想用该链接打开的选项卡上的新
data-remote
相对应。例如id="toggleAco1"
&data-remote="toggleAco1"
- 使用内置的基础性作用来打开单击该选项卡(参见下面的JS/JQ)
所以大家聚在一起的是这样的:
HTML
<div class="block">
<ul class="accordion" data-accordion>
<li class="accordion-item is-active" data-accordion-item>
<a href="#" class="accordion-title">Accordion 1</a>
<div class="accordion-content" data-tab-content data-remote="toggleAco1">
<p>Panel 1. Lorem ipsum dolor</p>
<a href="#">Nowhere to Go</a>
</div>
</li>
<li class="accordion-item" data-accordion-item>
<a href="#" class="accordion-title">Accordion 2</a>
<div class="accordion-content" data-tab-content data-remote="toggleAco2">
<textarea></textarea>
<button class="button">I do nothing!</button>
</div>
</li>
<li class="accordion-item" data-accordion-item>
<a href="#" class="accordion-title">Accordion 3</a>
<div class="accordion-content" data-tab-content data-remote="toggleAco3">
Pick a date!
<input type="date"></input>
</div>
</li>
</ul>
</div>
<div class="block">
<a href='#' class="button" id="toggleAco1">Open accordion tab 1</a>
<a href='#' class="button" id="toggleAco2">Open accordion tab 2</a>
<a href='#' class="button" id="toggleAco3">Open accordion tab 3</a>
</div>
JS/JQ
$('a').on('click', function() {
var dataTarget = $(this).attr('id');
$('.accordion').foundation('toggle', $('[data-remote="' + dataTarget + '"]'));
});
N.B.链接将会链接到data attributes you include,就像您单击手风琴标题的标签一样。所以,如果你允许多次打开,那么链接将打开每个打开,如果你不(如在例如),那么他们将关闭,一旦一个新的打开等。
这个答案是好的。你也可以明确地使用'up'和'down'事件(而不是'toggle')。 –
这太好了,谢谢..我现在就试试看。 – user7201898
现在有点老了,但我尝试了响应式手风琴/选项卡选项,不幸的是,这似乎不适用于该设置。如果使用自适应选项卡,是否还有其他方法? – user7201898