Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   помогите понять ошибкуб скрипт некорректно меняет параметры BODY (https://javascript.ru/forum/dom-window/9969-pomogite-ponyat-oshibkub-skript-nekorrektno-menyaet-parametry-body.html)

pro_moscow 13.06.2010 13:28

помогите понять ошибкуб скрипт некорректно меняет параметры BODY
 
задача такая: скрипт должен определять разрешение монитора и вставлять нужную фоновую картинку в зависимости от разрешения. нашёл скрипт определения разрешения, долго его менял, в итоге получилось вот что:

[js]
<script language="JavaScript">

var height=0; var width=0;
if (self.screen) {
width = screen.width
height = screen.height
}
else if (self.java) {
var jkit = java.awt.Toolkit.getDefaultToolkit();
var scrsize = jkit.getScreenSize();
width = scrsize.width;
height = scrsize.height;
}
//
</script>
[/js]


------------------- первая часть, которая определяет параметры монитора. она работает без проблем.

[js]
<script language="JavaScript">
if (width = 1024) {
document.body.background = "bgmain1024.jpg"
}
else if (width = 1280) {
document.body.background = "bgmain51.jpg"
}
//
</script>
[/js]


----------------------- вторая часть, которая меняет параметр фона в BODY. вот как раз эта часть мостит монитор только первой картинкой, в данном случае bgmain1024.jpg, вторую не замечает. то есть, вне зависимости от разрешения монитора, всегда будет выбрана картинка bgmain1024.jpg, а если разрешение будет 1280, то всё равно будет картинка bgmain1024.jpg

помогите понять ошибку и сделать так, чтобы фоновая картинка выбиралась исходя из значения width


ВТОРОЙ вопрос.

вторая часть скрипта:

<script language="JavaScript">
if (width = 1024) {........

если писать if (width = 1024 && height = 768), как это было в первоначальном скрипте, то скрипт вообще не работает. в чём тут проблема?

Octane 13.06.2010 13:47

Цитата:

Сообщение от pro_moscow
первая часть, которая определяет параметры монитора. она работает без проблем.

Я использую дисплей ноутбука 1366x768 (основной монитор) и внешний монитор 1680x1050 (на него расширен рабочий стол), окно Internet Explorer открыто на внешнем мониторе, угадайте что будет в screen.width и screen.height?

pro_moscow 13.06.2010 13:50

я тестирую скрипт на разрешениях 1280х1024 и 1024х768, и монитор один. так что, хотелось бы по существу получить ответ на вопрос, а в идеале просто исправленный скрипт, а не угадывать, какие значения присвоит скрипт пользователям с 5 мониторами

Geddar 13.06.2010 20:21

почитай мануал хотяб немного, знак равно в js, как и в прочих С-подобных языках означает присвоение, а сравнение на равенство пишеться == вот и думай, почему у тебя if не работает

pro_moscow 13.06.2010 20:25

на соседнем форуме на вопрос уже давно ответ расписали безо всяких понтов, а тут у одного тролля 25 мониторов, а другой с мануалом носится как с писаной торбой.

всем пока, спасибо киберфоруму, а сюда я больше не ездок. тема закрыта

Geddar 13.06.2010 20:32

pro_moscow, а у тебя ума ни хватает в if = заменить на ==


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