|
document.body.style.backgroundColor onclick
почему в этом скрипте при третем нажатии на кнопку ничего не происходит (первые два нажатия работают норм):
function color() { if (document.body.style.backgroundColor == '') return document.body.style.backgroundColor='#f00'; if (document.body.style.backgroundColor = '#f00') return document.body.style.backgroundColor='#0f0'; if (document.body.style.backgroundColor = '#0f0') return document.body.style.backgroundColor='#f00'; } ; Кнопка: <input onclick="color();" value="Жми" type="button"> |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
<body> <script> document.body.style.backgroundColor = '#f00'; // сконвертит его в rgb(255, 0, 0) alert( document.body.style.backgroundColor ); // увидим rgb(255, 0, 0) </script> </body>то есть я тестил в опере, в других браузерах может быть иначе. |
Цитата:
|
Можно текущую поллитру своять
<div style=position:absolute;z-index:-120;"> <span id=color1 style="background-color:#FF0000">a</span> <span id=color2 style="background-color:#0000FF">a</span> <span id=color3 style="background-color:#00FF00">a</span> </div> <script type="text/javascript"> var color=[]; color.push(document.getElementById('color1').style.backgroundColor) color.push(document.getElementById('color2').style.backgroundColor) color.push(document.getElementById('color3').style.backgroundColor) </script> |
Цитата:
И ведь первые 2нажатия на кнопку работают, а дальше нет |
можно просто использовать функцию конвертер, которая будет превращать всякие rgb значения в HEX:
<body> <script type="text/javascript"> function toHexColor( color ) { return color.replace( /rgba?\(([^\)]+)\)|#([a-f0-9]{6}|[a-f0-9]{3})/ig, function( m, rgb, hex ) { if ( rgb = /([0-9\.]+)(\%?)\s*,\s*([0-9\.]+)(\%?)\s*,\s*([0-9\.]+)(\%?)\s*(?:,\s*([0-9\.]+))?/g.exec( rgb || "" ) ) { hex = parseInt( rgb[2] ? rgb[1] * 2.55 : rgb[1] ).toString( 16 ).replace( /^(.)$/, '0$1' ) + parseInt( rgb[4] ? rgb[3] * 2.55 : rgb[3] ).toString( 16 ).replace( /^(.)$/, '0$1' ) + parseInt( rgb[6] ? rgb[5] * 2.55 : rgb[5] ).toString( 16 ).replace( /^(.)$/, '0$1' ); m = rgb[ 7 ] == "" || rgb[ 7 ] === undefined ? 1 : parseFloat( rgb[ 7 ] ); } else if ( hex && ( m = 1 ) ) { hex = hex.replace( /^(.)(.)(.)$/, "$1$1$2$2$3$3" ); } else { return m; } return "#" + hex; }); } document.body.style.backgroundColor = '#f00'; // сконвертит его в #ff0000 alert( toHexColor( document.body.style.backgroundColor ) ); // увидим #ff0000 </script> </body>простая ковертация цветов в шестизначный HEX |
Цитата:
|
Часовой пояс GMT +3, время: 02:10. |
|