这个网站上有类似的问题标题,我已经阅读了他们所有的解决方案,但问题始终与Turbolinks或其他一些问题有关。在这种情况下,我只使用javascript / jQuery,因此这些解决方案无关紧要。
我编写了一个简单的脚本,找到最高的容器,然后将块中的其余容器调整为与最高容器相同的高度。我将此脚本应用于Squarespace汇总块,以便同一块中的所有汇总项具有相同的高度。
然后我添加了一个条件语句,该语句将导致仅在屏幕宽度大于810px时执行此功能。
结果是这个脚本完全按照它应该工作,但只有当我直接进入页面或刷新页面时。如果我从另一个页面导航到该页面,它不起作用。
$(function() {
if($(window).width() > 810){
var maxheight=-1;
$('#block-yui_3_17_2_25_1494432854570_9795 .summary-excerpt').each(function() {
if(maxheight < $(this).height())
{
maxheight = $(this).height();
}
});
$('#block-yui_3_17_2_25_1494432854570_9795 .summary-excerpt').each(function() {
$(this).height(maxheight);
});
}
});
我真的很感激任何想法,因为我已经研究过与我类似的每个问题,但没有一个解决方案适合我。
注意:我没有收到错误。我在if语句之前放置了一个alert(),并确认当您从另一个页面导航到该页面时该函数不会运行。但是,我按照预期刷新页面时会收到警报。
答案 0 :(得分:1)
在Squarespace中,当您的自定义Javascript仅在页面刷新后有效时,很可能与Squarespace's AJAX loading有关:
有时,Ajax可能会与嵌入式自定义代码或锚点发生冲突 链接。 Ajax还可能干扰站点分析,记录命中 仅限第一页。
您可以为模板禁用AJAX。或者,请参阅此处列出的其他方法:JavaScript only being called once in Squarespace