Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как присвоить url фона? (https://javascript.ru/forum/misc/15374-kak-prisvoit-url-fona.html)

Aljnk 24.02.2011 09:34

Как присвоить url фона?
 
Есть

- <div> с background-image:url('image.jpg') и
- tmp = new Image(),

необходимо tmp.src присвоить через javascript адресс 'image.jpg' взятый из <div>. Подскажите как это сделать?

tmp.src=document.getElementById('div').style.backg roundImage - не работает

ksa 24.02.2011 10:16

Цитата:

Сообщение от Aljnk
tmp.src=document.getElementById('div').style.backg  roundImage
- не работает

Пробуй

document.getElementById("elementID").style.backgroundImage

http://htmlbook.ru/css/background-image

ksa 24.02.2011 10:19

И еще информация про чтение свойств css
http://javascript.ru/blog/Andrej-Par...cii-JavaScript

рони 24.02.2011 10:52

Aljnk,
Вариант ... распарсить значение document.getElementById('div').style.backgroundIma ge и получить ссылку...может есть и проще вариант
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title></title>
<style type="text/css">
div {
background-image: url(http://javascript.ru/forum/images/ca_serenity/misc/logo.gif);
width: 336px;
height: 76px
}
</style>
</head>

<body>
<div id="div" ></div>
<script type="text/javascript">
var tmp = new Image();
function getStyle(a, b) {
    return document.defaultView && document.defaultView.getComputedStyle ?
    document.defaultView.getComputedStyle(a, "")[b] : a.currentStyle[b]
};
var a = getStyle(document.getElementById('div'),'backgroundImage');
tmp.src=a.replace(/.*\(["']?|["']?\)$/g,'');
document.body.appendChild(tmp)
</script>
</body>
</html>

Aljnk 24.02.2011 17:52

Интересная идея, надо попробовать, потестировать...
...Странно, должен же быть способ напрямую присвоить значение url.

ksa 24.02.2011 21:38

Цитата:

Сообщение от Aljnk
должен же быть способ напрямую присвоить значение url.

Присваивай. Немного проблематично прочитать урл бекграунда... А присвоить можно как обычно. :)


Часовой пояс GMT +3, время: 07:26.