Ajax SharePoint手风琴未正确加载
我正在一个SharePoint页面上工作,利用列表web部件的jslink。我编写了以下代码:Ajax SharePoint手风琴未正确加载,ajax,sharepoint,accordion,web-parts,jslink,Ajax,Sharepoint,Accordion,Web Parts,Jslink,我正在一个SharePoint页面上工作,利用列表web部件的jslink。我编写了以下代码: (function () { var overrideCurrentContext = {}; overrideCurrentContext.Templates = {}; overrideCurrentContext.Templates.Header = "<div class='ListAccordion'>"; overrideCurrentCont
(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选项,它就会工作。我能做些什么来确保第一次打开页面时手风琴立即显示出来吗
此外,我已将文件保存在我的siteassets中,这是我正在使用的链接~site/siteassets/Accordions12.js将以下内容添加到脚本编辑器的标题中,但将中间部分替换为您的文件/位置
<script src="/_catalogs/masterpage/test1/jquery-1.11.2.min.js" type="text/javascript"></script>
您的代码没有问题。我在使用CSR时遇到了类似的问题。然后经过一些挖掘,我发现我的jquery没有正确加载。在开始执行CSR代码之前,您必须确保jquery已完全加载……我在Placeholder AdditionalPageHead中添加了jquery引用。我的代码开始工作了..我使用脚本编辑器添加了标题,这很有帮助!非常感谢。