我收到此错误:
Error: Unclosed element `container.style.display` (on line 25).
我的计划的第25行是:
if ((container.style.opacity -= .01) <= 0)
但我认为它指的是以下这一行:
container.style.display = "none";
为什么我收到此错误?
背景信息:
<script>
var container = document.getElementById('popUpContainer');
function popUpFadeOut() {
if (container.style.opacity == 0) {
container.style.opacity = 1;
container.style.display = "block";
var fading = function fade() {
if ((container.style.opacity -= .01) <= 0) {
container.style.display = "none";
container.style.opacity = 0;
} else {
requestAnimationFrame(fade);
}
};
setTimeout(fading, 1000); //popup box fades away after 1 seconds
}
};
</script>
答案 0 :(得分:2)
您提到的错误消息来自HTML解析上下文,很可能是HTMLBars,这意味着您在模板中包含了一个脚本,您不应该首先这样做。
快速解决方法是将<
替换为<
。正确的解决方案是将脚本从模板移动到它所属的JS文件中。
请注意,这在HTML文件中不会出现问题,因为脚本标记(今天)受到保护&#34;并且其中唯一可能导致问题的HTML就像{{1 }}。似乎HTMLBars中的HTML解析登录没有实现这个&#34;保护&#34;机制。从理论上讲,这可能被认为是一个错误,但没有人会担心它,没有人会修复它,因为你不应该在模板中放置脚本标签。