从css、JavaScript中获取样式
我使用实际风格制作JavaScript 3D动画。我创建了工作代码,但如果样式在扩展CSS文件中,我就不能运行代码,所以只有当样式是用HTML代码编写时,代码才会运行。有解决办法吗 工作代码: HTML JavaScript从css、JavaScript中获取样式,javascript,html,css,Javascript,Html,Css,我使用实际风格制作JavaScript 3D动画。我创建了工作代码,但如果样式在扩展CSS文件中,我就不能运行代码,所以只有当样式是用HTML代码编写时,代码才会运行。有解决办法吗 工作代码: HTML JavaScript setInterval(function(){ move()}, 2000); function move(){ var elem = document.getElementsByClassName("example"); var str = elem
setInterval(function(){ move()}, 2000);
function move(){
var elem = document.getElementsByClassName("example");
var str = elem[0].style.transformOrigin;
var res = str.split(" ");
var pos = res[2].replace(/px/g, " ");
var id = setInterval(frame, 20);
function frame(){
if (pos==500){
clearInterval(id);
}
else {
pos++;
elem[0].style.transformOrigin = "50% 50%"+pos+"px";
}
}
}
正如你们所看到的,一切都在运行,但当我从HTML代码中删除样式时。我可以在控制台中看到错误:无法读取您需要使用的未定义的属性“replace”。这将允许您查看CSS计算值。JS无法直接从DOM元素提取CSS样式,但需要处理已应用于它的样式
您还需要使用getPropertyValue(“transform-origin”)来访问所需的属性
为了获得变换原点的第三个值,您将赋值给str,如下所示:
var str = getComputedStyle(elem[0]).getPropertyValue('transform-origin')
您需要使用。这将允许您查看CSS计算值。JS无法直接从DOM元素提取CSS样式,但需要处理已应用于它的样式
您还需要使用getPropertyValue(“transform-origin”)来访问所需的属性
为了获得变换原点的第三个值,您将赋值给str,如下所示:
var str = getComputedStyle(elem[0]).getPropertyValue('transform-origin')
您是否尝试过在所有源代码文件中包含CSS文件作为标题?为什么不投票?我忘了放一些数据了吗?是的,我把JS包在了
文档中。onload
。很有可能,JS在加载CSS之前运行,因此CSS属性不存在。您是否尝试过在所有源代码文件中包含CSS文件作为头文件?为什么不投票?我忘了放一些数据了吗?是的,我把JS包在了文档中。onload
。很可能,JS在加载CSS之前运行,因此CSS属性不存在。是的,这是正确的。CSS中定义的样式不会反映在style
属性中。这是正确的,但无法从小提琴中分辨出来。小提琴只需要通过获得计算的样式进行调整,其余的没有显示更大的问题。因此,这更多的是说明为什么它以前不起作用@是的,这是正确的。CSS中定义的样式不会反映在style
属性中。这是正确的,但无法从小提琴中分辨出来。小提琴只需要通过获得计算的样式进行调整,其余的没有显示更大的问题。因此,这更多的是说明为什么它以前不起作用@诡计
var str = getComputedStyle(elem[0]).getPropertyValue('transform-origin')