SharePoint 手风琴未正确加载

SharePoint Accordion not loading properly

我正在处理 SharePoint 页面,将 jslink 用于列表 Web 部件。我写出了以下代码:

(function () {
    var overrideCurrentContext = {};
    overrideCurrentContext.Templates = {};

    overrideCurrentContext.Templates.Header = "<div class='ListAccordion'>";
    overrideCurrentContext.Templates.Footer = "</div>";

    overrideCurrentContext.OnPostRender = OnPostRender;
    overrideCurrentContext.Templates.Item = ItemTemplate;

    SPClientTemplates.TemplateManager.RegisterTemplateOverrides(overrideCurrentContext);

})();

function ItemTemplate(ctx) {

    var Title  = ctx.CurrentItem["Title"];
    var Body = ctx.CurrentItem["Body"];

    return "<h2>" + Title + "</h2><p>" + Body + "</p><br/>";
}

function OnPostRender() {

    $('.ListAccordion h2').click(function () {
        $(this).next().slideToggle();
    }).next().hide();

    $('.ListAccordion h2').css({
    "background-color": "#0B0B61",
    "cursor": "pointer",
    "color": "white" ,
    "border-radius" : "15px",
    "padding-left" : "10px"
    });

}

我遇到的问题是,在我使用手动刷新选项之前,我的手风琴视图不会显示,或者我在 Web 部件属性的 AJAX 选项下等待异步自动刷新。

手风琴显示完美,直到我保存或重新加载页面,但如果我使用 ajax 选项,它会工作。有什么我可以做的来确保手风琴在第一次打开页面时立即显示吗?

我也将文件保存在我的站点资产中,这是我正在使用的 link ~site/SiteAssets/Accordions12.js

将以下内容添加到您的脚本编辑器的 header 中,但将中间部分替换为您的 file/location

<script src="/_catalogs/masterpage/test1/jquery-1.11.2.min.js" type="text/javascript"></script>