我很难解释这一点,但它是这样的:
我有一个自定义手风琴脚本,当用户单击链接时会触发该脚本。每个页面上有多个手风琴,每个都有自己的链接。该脚本完美运行,每个链接仅打开其正确的手风琴。
现在,我需要修改此脚本以通过 AJAX 将内容加载到手风琴内的 div 中。我加载了 AJAX,但不是加载到一个 DIV,而是加载到具有相同类的每个 DIV。我理解它为什么这样做,但我不知道如何将它与现有脚本联系起来。它使用相同的按钮来加载内容,因此应该相当容易。
手风琴脚本使用该data-target
属性来指定要打开哪个手风琴,因此应该能够绑定到新脚本,但对于我来说,我无法弄清楚。
这是我到目前为止所拥有的:
HTML 链接:
<a class="button maximize accordionHeading" data-target="firstAccordion" href="/Load/?ID=1">More Info</a>
HTML 格:
<div class="accordionHidden firstAccordion">
<div class="row" style="margin-top:10px;">
<div class="six columns">
<img class="load-image" src="images/dirt.jpg" />
</div><!--/.six.columns-->
<div class="six columns load-description">
<!-- this is where the content should be loading -->
</div><!--/.six.columns-->
</div><!--/.row-->
</div><!--/.accordionHidden firstAccordion-->
脚本:
$("a.accordionHeading").bind("click", function(e){
e.preventDefault();
$("."+$(this).data("target")).slideToggle();
$(this).addClass("minimize");
if ($(this).text() == "More Info") {
$(this).text("Less Info");
$(this).removeClass("maximize").addClass("minimize");
} else {
$(this).addClass("maximize").removeClass("minimize").text("More Info");
}
// this is what I'm trying to add.
var $loadID = $(this).attr("href");
$(".load-description").load($loadID);
});