如何使用javascript变量应用多个样式
How to apply multiple styles using javascript variables?
我的意思是:
var prefix = 'webkit';
element.style['marginTop'] = '20px';
element.style[prefix + 'Transform'] = 'translate(100%, 0, 0)';
被重写成一个单独的语句?
在jQuery中,css()可以接受带有属性的对象,但是当属性由变量组成时,它不起作用
$(element).css({
marginTop: '20px',
prefix + 'Transform': 'translate(100%, 0, 0)' // doesn't work
});
做到这一点的一种方法是使用CSS钩子。定义钩子,然后设置所需的各个属性,钩子负责额外的处理,比如添加前缀。http://api.jquery.com/jQuery.cssHooks/
如果你的网站非常简单,这可能是多余的,但如果你正在制作任何一种需要在所有浏览器中完美的交互式网站,钩子可以使应用CSS更简单。
另一种方法是添加你手动应用的CSS样式作为类,并在必要时添加/删除这些类。
应该可以了
element.style.cssText = "marginTop: 20px; " + prefix + "Transform: translate(100%, 0, 0);";
但是你正在寻找一种使用jQuery的方法,对吗?
在这种情况下,你可以做
var styles = {};
styles['marginTop'] = '20px';
styles[prefix + 'Transform'] = 'translate(100%, 0, 0)';
$(element).css(styles);
如果可以的话,最好为你的样式使用类,这样你就可以将逻辑与输出分开,这绝对是最佳实践。
相关文章:
- 使用css类将自定义样式应用于上下文按钮的Highcharts
- 将动态CSS样式应用于谷歌地图的标记
- 将动态样式应用于数据表行
- 将样式应用于融合表上的图标时,会得到意外的标识符
- 将格式样式应用于同义词
- AJAX:行的 CSS 样式应用程序
- 如何将样式应用于类的单个元素,同时从同一类的前一个元素中删除样式
- 如何将基于条件的样式应用于剑道 UI 网格
- 引用 JavaScript 地铁风格应用的 C# 地铁样式应用
- CKEDITOR将样式应用于选区
- 如何选择所有节点并将 css 样式应用于所有节点,D3
- 如何将日志或文本文件写入 Metro 样式应用程序中的文件系统
- 如何将css样式应用于动态JavaScript数组
- 使用jQuery将不同的样式应用于同一元素的各个部分
- 将样式应用于双击的文本
- knockout.js将样式应用于下拉选项
- 将CSS样式应用于子节点
- 将样式应用于'它不在任何HTML标记中
- 如何将样式应用于表中的偶数行或奇数行
- 如何手动将特定样式表中的样式应用于元素