gpt4 book ai didi

javascript - 无法使用 javascript 获取 HTML CSS 元素的初始值

转载 作者:行者123 更新时间:2023-11-28 13:42:29 25 4
gpt4 key购买 nike

我正在尝试操作一个 div 元素。虽然我已经定义了某些属性值,但我似乎无法获得初始值。

这里是问题所在:Fiddle

我已经筋疲力尽了……谢谢。

最佳答案

我认为您必须使用 document.styleSheets,找到您的样式表,然后遍历 cssRules(IE 规则)列表以将选择器与 "#viewbase" 匹配然后您可以像使用内联样式一样访问您的样式属性,因为其中的样式信息还有一个 CSSStyleDeclaration(因此您可以使用 element.style.left 等等)。

Sidenode:getComputedStyle 不适用于大多数版本的 IE。 IE 对每个元素都有 currentStyle 属性,但这不是一回事。也许两者结合也能奏效。

更新

设法获得初始位置,如果那是你需要的,如果我没记错的话,你可以重新分配这些值。

function trigger(e) {

item = this;

if (!e) var e = window.event;
if (e.pageX || e.pageY) {
x1 = e.pageX;
y1 = e.pageY;
}
else if (e.clientX || e.clientY) {
x1 = e.clientX;
y1 = e.clientY;
}

document.getElementById("ex").innerHTML = x1;
document.getElementById("wye").innerHTML= y1;
// the stylesheet you defined, in a standalone context, it might
// have another index, (i.e. 0 if it's the only one)
list = document.styleSheets[2].cssRules;

for(var i=0;i<list.length;i++)
//match #viewbase
if(list[i].selectorText.toLowerCase() == "#"+item.id)
{ item = list[i];
break;
}

document.getElementById("xval").innerHTML = item.style.left;
document.getElementById("yval").innerHTML = item.style.top;

document.getElementById("parseX").innerHTML = parseInt(item.style.left, 10);
document.getElementById("parseY").innerHTML = parseInt(item.style.top, 10);

document.getElementById("debug").innerHTML = 'clicked!';

document.onmouseup = release;
}

另一个版本是使用下面的

var styleDef = window.getComputedStyle(item) || item.currentStyle;  
document.getElementById("xval").innerHTML = styleDef.left;
document.getElementById("yval").innerHTML = styleDef.top;

关于javascript - 无法使用 javascript 获取 HTML CSS 元素的初始值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7055720/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com