Простой скрипт не работает нигде кроме IE
Вот написал код чтоб фон и бордюры DIV темнели при нажатии на кнопку ни где не работает кроме IE. Где ошибка? Голову уже сломал )
function lightNone() { if (document.body.style.backgroundColor=='#fff') { document.body.style.backgroundColor='#555'; cen1.style.borderColor='#555'; cen2.style.borderColor='#555'; cen3.style.borderColor='#555'; cen4.style.borderColor='#555'; cen5.style.borderColor='#555'; } else { document.body.style.backgroundColor='#fff'; cen1.style.borderColor='#FAFDFE'; cen2.style.borderColor='#F9FCFE'; cen3.style.borderColor='#F6FBFE'; cen4.style.borderColor='#F4FAFE'; cen5.style.borderColor='#F4FAFE'; } } |
Браузеры по-разному хранят информацию о цвете. Некоторые в #hhhhhh, некоторые в rgb(xxx, xxx, xxx). Поэтому при сравнении цветов нужно проверять разные форматы ;)
var bc = document.body.style.backgroundColor; COLOR_WHITE_RGB='rgb(255, 255, 255)'; COLOR_WHITE_HEX='#fff'; COLOR_WHITE_NAME='white'; if (bc.toLowerCase() == COLOR_WHITE_RGB || bc.toLowerCase() == COLOR_WHITE_HEX || bc.toLowerCase() == COLOR_WHITE_NAME) {...} |
Благодарю никогда бы сам не додумался!
|
Так то почти все в порядке, только onclick после загрузки страницы срабатывает только после второго клика .. , а это почему может быть?
|
в каком коде?
|
function lightNone() {
COLOR_WHITE_RGB='rgb(255, 255, 255)'; COLOR_WHITE_HEX='#ffffff'; COLOR_WHITE_NAME='white'; var bc = document.body.style.backgroundColor; if (bc.toLowerCase() == COLOR_WHITE_RGB || bc.toLowerCase() == COLOR_WHITE_HEX || bc.toLowerCase() == COLOR_WHITE_NAME) { document.body.style.background='#555555'; } else { document.body.style.background='#ffffff'; } } ну а в теле страницы <img title="потушить свет" onclick="lightNone()" style="cursor: pointer" src="img/icon/light.png" height="20" /> |
предварительно нужно инициализировать атрибут
<body style='background-color:white'> |
koxt, Большое человеческое СПАСИБО!!!
|
Часовой пояс GMT +3, время: 09:11. |