嘿,我正在使用 Prototype 制作一个简单的用户友好的 CSS 编辑器。无论如何,我想知道我是否可以自己获得背景位置 x/y 值?
我希望我能做这样的事情,但遗憾的是它不起作用:
element.getStyle('background-position-x);
我想这是因为位置以不同的形式出现,例如“中心”,而不仅仅是通用的。
嘿,我正在使用 Prototype 制作一个简单的用户友好的 CSS 编辑器。无论如何,我想知道我是否可以自己获得背景位置 x/y 值?
我希望我能做这样的事情,但遗憾的是它不起作用:
element.getStyle('background-position-x);
我想这是因为位置以不同的形式出现,例如“中心”,而不仅仅是通用的。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<style type="text/css">
<!--
body {
background-image: url(00.jpg);
background-repeat: no-repeat;
background-position: top left;
}
-->
</style>
<script type="text/javascript">
function getStyle(obj,att){
for(var i=0;i<att.length;i++){
if(window.getComputedStyle){
obj[att[i]]=window.getComputedStyle(obj,null)[att[i]];
}
else if(obj.currentStyle){
obj[att[i]]=obj.currentStyle[att[i]];
}
}
}
onload=function(){
var obj = document.getElementsByTagName('body')[0];
var att=['backgroundImage','backgroundRepeat','backgroundPosition']
getStyle(obj,att)
for(var i=0;i<att.length;i++) {alert(obj[att[i]])}
}
</script>
</head>
<body>
</body>
</html>
嘿,这似乎工作得很好。即使位置设置为“中心中心”,原型也会将其转换为百分比!非常便利!
var temp = $('header').getStyle('background-position');
var split = temp.split(" ");
$('header_horizontal_position').value = split[0];
$('header_vertical_position').value = split[1];
无论如何,感谢您的帮助。