случайная смена фона сайта на jquery
Всем доброго времени суток.
На одном из моих сайтов возникла необходимость случайной смены фона. То есть к примеру зашел я на одну из страниц сайта фон один, перешел на другую сменился на другой. Фоновое изображение и цвет фона задается для тега body. Изображения находятся в отдельной папке images и всего их[изображений] три, но каждому из них нужен свой цвет фона. Решил реализовать это на jQuery, так как судя по всему этот фреймворк более менее доступный. Но отсутствие опыта в скриптинге конечно сказывается, застрял на том как задать случайные переменные. Вот то, что имею на данный момент (мой кривой код) $(document).ready(function() { var a=Math.random() * 3; if(a=1) $('body') .css('background','#91BD5B url(images/bg2.jpg) no-repeat center top'); if(a=2) $('body') .css('background','#0A1229 url(images/bg3.jpg) no-repeat center top'); if(a=3) $('body') .css('background','#213051 url(images/bg1.jpg) no-repeat center top'); }); наверняка и переменные задал не правильно и реализовать все можно проще, поэтому прошу помощи у вас. Буду очень признателен за пояснения! |
Цитата:
Если это все, что есть на js на странице, то есть ли смысл подключать целый фреймворк? На чистом js это будет 5 строк. Цитата:
|
используйте оператор сравнения, вместо оператора присваивания
к тому же случайной число следует округлять |
<body><script> var bg = ['#FF0', '#F0F', '#0FF'], n while(n == undefined){ n = Math.round(Math.random()*4) if(n==0||n==4) n = undefined } document.body.style.background = bg[--n] </script></body> И нечего джейКверить моцк:) |
спасибо большое за оперативность.
jQuery был выбран потому что уже используется на странице, а так же потому, что после года веб-дизайнинга очень хочется освоить азы скриптов, а jquery часто рекомендуют для новичков. понимаю, что для полного понимания надо изучать непосредственно java, но для меня сейчас это непосильная задача, поскольку еще и в дизайне надо много чего осваивать, а jquery до этого примера выручал (правда я в основном переделываю чужие скрипты, а свои если и пытаюсь писать то на примитивном уровне). попробую реализовать на java, но если вам будет не трудно, то подскажите как можно это реализовать при помощи jquery |
кое-что получилось
<script type="text/javascript" src="jquery-1.4.2.min.js"></script> <script type="text/javascript"> $(document).ready(function() { var a=Math.round(Math.random() * 3); if(a==2) $('body') .css('background','#91BD5B url(images/bg2.jpg) no-repeat center top'); if(a==1) $('body') .css('background','#0A1229 url(images/bg3.jpg) no-repeat center top'); if(a==3) $('body') .css('background','#213051 url(images/bg1.jpg) no-repeat center top'); }); </script> вроде как все работает. правда заметил какую-то хрень с моим "любимым IE" на сайте. если кому не трудно можете посмотреть, через все браузеры все ок, кроме IE - иногда пропадает сайдбар, в котором тоже есть один скриптик (в меню). странно что пропадает весь сайдбар... |
Вложений: 1
У Вас получается очень неравномерное распределение, да еще и с «белыми пятнами». См. картинку.
|
Цитата:
|
да в принципе большого значения это не имеет, но если можете подсказать как сделать более равномерно, то исправлю. ну или сам может дойду до этого рано или поздно )
|
Часовой пояс GMT +3, время: 15:33. |