Как получить только положение x или y фонового изображения с использованием прототипа? - PullRequest
0 голосов
/ 12 апреля 2010

Эй, я делаю простой удобный редактор CSS, используя Prototype. В любом случае, мне было интересно, смогу ли я получить значения x / y background-position самостоятельно?

Я бы хотел сделать что-то подобное, но, к сожалению, это не работает: element.getStyle('background-position-x);

Полагаю, это связано с тем, что позиция проявляется в разных формах, таких как "центр", а не просто как общая.

Ответы [ 2 ]

1 голос
/ 12 апреля 2010

Эй, похоже, это работает очень хорошо. Даже когда позиция установлена ​​в «центральном центре», прототип переведет это в проценты! Очень удобно!

var temp = $('header').getStyle('background-position');
var split = temp.split(" ");
$('header_horizontal_position').value = split[0];
$('header_vertical_position').value = split[1];

В любом случае, спасибо за помощь, ребята.

1 голос
/ 12 апреля 2010
<!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>
...