跨浏览器 - IE JavaScript 设置 style.left 不起作用
cross browser - IE javascript setting style.left not working
嘿,
我正在努力为通过 javascript 创建的div 设置样式属性。流程为:
- 脚本加载
- 它创造了一个
<div id="test">
- 它设置属性
style="top: 20px; left: 10px; margin: 0px; position: absolute;"
所有其他浏览器都可以正常工作,但是当涉及到IE时,事情就不起作用了。如何在IE中设置这些样式属性?到目前为止,使用此代码:
var div = document.getElementById('test');
div.style.left = "10px";
div.style.top = "20px";
div.style.margin = "0px";
div.style.position = "absolute !important";
我能够设置顶部,保证金和位置。Style.left是不可能的。
在所有浏览器中处理样式属性时的最佳方法是什么?
@IE不工作版本:7,8。(在 6 和 9 下没有尝试过)
经过几个小时的调试代码,我终于设法把它做好了。问题是我有一个返回数字的变量。该变量是某些计算的基础,在设置div.style.left 时使用。因此,变量有时会返回导致疼痛的 NaN。:)感谢大家的努力和花时间试图帮助!:)
交易时的最佳方法是什么 在所有浏览器中都有样式属性?
只需设置div.className
并将所有CSS移动到CSS文件。
div.style.cssText="top: 20px; left: 10px; margin: 0px; position: absolute;"
请记住,div'es 位置是相对于其父元素的 - 一些旧的 IE 需要将父元素位置设置为相对或绝对,具体取决于文档类型。
function MuoveOnClickPosition(YourDIVObject) {
//numeric variables.
tempX = event.clientX;
tempY = event.clientY;
// String variables
var X, Y ;
X = tempX + 'px';
Y = tempY + 'px';
document.getElementById(YourDIVObject).style.left = X;
document.getElementById(YourDIVObject).style.top = Y;
}
应该工作..有时IE需要字符串格式的"XXXpx"。这取决于 DOC 类型。
重要的是杀死绝对的位置。甚至无法在火狐中工作。在 JSBIN 上测试
相关文章:
- margin-left和width属性在mozillafirefox中不起作用
- document.getElementById.style.backgroundImage not working
- 为什么我可以'不要使用xx[this.index].style.display?它's说“;无法读取属性
- HEAD中LINK和STYLE元素的求值顺序
- 如何让firefox使用style['attribute name']=设置样式属性
- 更改SVG'style'元素
- Javascript if statement if (ball.style.left === '0px'
- 尝试使 the_image.style.left = x_position;但日志显示结果不相等
- Javascript viewport then element.style.left 不起作用?这有什么问题
- Javascript style.left 是空字符串
- 如何使用 style.left 从右向左移动图像
- 无法更新返回的元素.style.left,为什么
- Javascript-element.style.left返回空白
- Javascript - style.left 将更新减法,但不更新加法
- Style.width和left没有'不起作用
- 如何获取style.left
- 如何设置element.style.left和element.syle.top
- 更正确的是“setposition”或“style.left / right"
- Javascript:当x是object.style.left;时更改x的值;
- 跨浏览器 - IE JavaScript 设置 style.left 不起作用