在不被注意的情况下用Javascript样式化元素
styling elements with Javascript without being noticed
我有一个网页,其中有内容布局像1,2,3标记(也为no-js)而视觉我希望它是2,3,1.
我使用Javascript (jQuery)来交换他们的位置。但问题是,Javascript代码是在页面加载后执行的,因此可以明显地看到交换过程。
我现在能想到的唯一解决方案(也是一个糟糕的解决方案)是先隐藏整个身体,然后在交换完成时恢复身体。
$(function() {
$("#div2, #div3").insertBefore("#div1");
$("body").css({display: "block"});
});
<body style="display: none;">
...
<div id="div1">...</div>
<div id="div2">...</div>
<div id="div3">...</div>
...
<!-- in case JS is disabled, use css to restore -->
<!-- style should not be here, that's why I said it's a bad one. -->
<style type="text/css">
body {display: block !important;}
</style>
</body>
谁有更好的主意? 尝试在这三个元素之后立即执行JavaScript:
<div id="div1">...</div>
<div id="div2">...</div>
<div id="div3">...</div>
<script type="text/javascript"> $("#div2, #div3").insertBefore("#div1"); </script>
当然,这是对HTML的污染,但是,无论如何,这比隐藏整个body
元素要好(在一些旧浏览器中页面会闪烁)。
相关文章:
- javascript样式的背景颜色在设置时闪烁.ASP.NET
- Javascript 样式的第 n 个孩子
- JavaScript样式警报,在用户导航离开页面之前带有链接
- Javascript样式表切换器
- JavaScript 样式类返回空字符串
- DOM 影子主机的 JavaScript 样式
- 任何 html 元素的 Javascript 样式编辑器工具栏
- JavaScript样式表更改器不起作用
- JavaScript样式更改单击在IE中不起作用
- Javascript样式与CSS样式表
- 使用javascript样式打印页面
- 带有文本框的FF Javascript样式问题
- JavaScript样式&笨拙的语法&设计
- 带有变量的javascript样式
- javascript样式的扩展标记信息
- 元素在正文中找不到足够的空间 - JavaScript 样式
- javascript样式-我应该定义变量/类吗
- 为什么 javascript 样式属性无法按预期工作
- 如何使用javascript样式td不使用id和类
- 用Javascript样式的onClick展开文本区域