javascript - JavaScript 导致 CSS 转换不起作用
问题描述
我正在尝试从 css 文件和 js 文件中的菜单加载样式。
在 js 文件中,我使用“document.write”,这会导致 css 的转换不起作用。
HTML:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<script type="text/javascript" src="menu.js"></script>
<div class="trans">aaa</div>
</body>
</html>
CSS(文件名:style.css)
.trans {
text-align: center;
padding-top: 250px;
transition: 1s;
-moz-transition: 1s;
-ms-transition: 1s;
-o-transition: 1s;
-webkit-transition: 1s;
}
JavaScript(文件名:menu.js)
str = `
<div>menu</div>
`;
document.write(str);
更新 - 解决方案:
感谢所有受访者!谢谢你,我得到了解决方案:-)
添加async以便脚本不会阻止动画:
<script async type="text/javascript" src="menu.js"></script>
更换
document.write(str);
和
document.currentScript.insertAdjacentHTML("beforebegin", str);
所以文件不会被重写。
解决方案
为你的 JavaScript 试试这个(假设你希望这个 div 在正文的末尾):
var myDiv = document.createElement("div");
myDiv.className = "abc";
var textNode = document.createTextNode("menu");
myDiv.appendChild(textNode);
document.body.appendChild(myDiv);
推荐阅读
- javascript - 可以检测碰撞但物体通过移相器 p2 物理
- sql - 电子邮件的数据驱动订阅
- javascript - 嵌套对象迭代并返回空值键名nodejs
- python - 奇怪的python文件路径行为
- jquery - Featherlight YouTube 视频链接 - 缩略图上方的播放按钮未链接/打开
- php - JQuery Append 表单未在 PHP 中发布
- c# - 启用非托管 c++ 调试,错误为 'hresult=0x8013134d。errorcode=0x0' 与 .Net 调试
- c# - Protobuf-net c#序列化/反序列化列表导致空集合
- javascript - 制作集群谷歌地图
- java - 嵌套哈希图:替代 putIfAbsent 不需要空检查和手动获取?