我在我的网页上使用了带有Foundation的jQuery手风琴。
当我第一次访问该页面时,手风琴呈现出应该关闭的状态。
但是,如果我打开手风琴,离开页面,然后返回页面,页面加载有一瞬间,你可以看到手风琴打开,然后jQuery启动,你可以看到它关。
这非常令人沮丧,我无法找到任何好的理由或为什么会发生这种情况的例子。
我正在使用Rails 4,我不知道这是关于turbolinks,我的jQuery手风琴函数,还是渲染缓存网页的问题。
我用于手风琴的jQuery函数是:
var acc = document.getElementsByClassName("accordion");
var i;
for (i = 0; i < acc.length; i++) {
acc[i].onclick = function(){
this.classList.toggle("active");
this.nextElementSibling.classList.toggle("show");
}
}
任何人都可以帮助解决这个问题吗?
答案 0 :(得分:0)
这可能是由于页面缓存或设置为错误默认值的类。
确保在css / html文件中元素不活动,这样当页面加载时它们就会被关闭。
如果是缓存问题,您可以编写一个要执行的函数,如:
window.onbeforeunload = function() {
var i = acc.length;
while (i--) acc[i].classList.toggle("closed") // I don't know the class for closed, I'm guessing.
}