Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Работа с background (https://javascript.ru/forum/dom-window/53636-rabota-s-background.html)

Flame1 11.02.2015 23:10

Работа с background
 
Доброго времени суток, я недавно занялся JS и столкнулся с таким вопросом: если указать значение цвета в background так
Код:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Документ без названия</title>
<style>
#test {
        position:absolute; top: 100px; left: 100px; width: 100px; height: 100px; background-color: white;
        }
        #test1 {
                position:absolute; top: 100px; left: 300px; width: 100px; height: 100px; background-color: red;
                }
        #answer {
                position:absolute; top: 300px; left: 200px; width: 100px; height: 50px; background-color: black;
                }
</style>
<script>
function one(){
        var a = document.getElementById("test").style.backgroundColor;
        var b = document.getElementById("test1").style.backgroundColor;
        if (a == "white") {
                alert('true');
                }
                else {
                        alert('false');
                        }
        }
</script>
</head>

<body>
<div id = "test"></div>
<div id = "test1"></div>
<div id = "answer"; onClick="one()";></div>
</body>
</html>

то выдаёт Ложь, а если так
Код:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Документ без названия</title>
<script>
function one(){
        var a = document.getElementById("test").style.backgroundColor;
        var b = document.getElementById("test1").style.backgroundColor;
        if (a == "white") {
                alert('true');
                }
                else {
                        alert('false');
                        }
        }
</script>
</head>

<body>
<div id = "test" style="position:absolute; top: 100px; left: 100px; width: 100px; height: 100px; background-color: white;"></div>
<div id = "test1" style="position:absolute; top: 100px; left: 300px; width: 100px; height: 100px; background-color: red;"></div>
<div id = "answer" style="position:absolute; top: 300px; left: 200px; width: 100px; height: 50px; background-color: black;" onClick="one()"></div>
</body>
</html>

то Правду. Вопрос почему если указывать цвет внутри тега то программа работает, а если по другому подключать стиль то нет?:help:

Царь Леонид 11.02.2015 23:15

js работает с inline styles и знать не знает, что там в css именно поэтому

Flame1 11.02.2015 23:23

Спасибо за информацию. А есть ли какая-нибудь возможность работать с внешним css файлом?

Царь Леонид 11.02.2015 23:28

Насколько мне известно -нет, хотя может и есть какие-то извращения способы. Зачем это надо? Может я подскажу, как лучше сделать?

рони 11.02.2015 23:30

Flame1,
http://learn.javascript.ru/styles-an...-currentstyle

Flame1 11.02.2015 23:39

Спасибо большое:) Буду внимательно читать учебник:yes:


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