Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Смена фона при посещении/обновлении сайта

32K
23 февраля 2011 года
Clubberry
186 / / 19.01.2011
Как сделать чтобы при посещении/обновлении сайта фон на сайте менялся? Хотелось бы узнать, можно ли это сделать посредством HTML/CSS.
На крайняк, что скорее всего, как сделать это при помощи JS. Был бы очень признателен, если бы ещё и разжевали как можно лучше, а то я пытался сделать, но так ничего и не вышло. :(
274
23 февраля 2011 года
Lone Wolf
1.3K / / 26.11.2006
что значит при посещении\обновлении? Что-то я по утрам туплю..
32K
23 февраля 2011 года
Clubberry
186 / / 19.01.2011
Ты заходишь на сайт, сначала один фон, потом обновляешь страница и уже другой фон (или заново посещаешь сайт).

Было бы конечно интереснее, если бы фон плавно менялся, но это сложнее, я сам не смогу сделать, даже фреймворки не помогают. :(
15
23 февраля 2011 года
shaelf
2.7K / / 04.05.2005
Гуглить по словам js array Math.random
32K
23 февраля 2011 года
Clubberry
186 / / 19.01.2011
Отлично, попробую поискать, но говорю же, хотелось бы чтобы разжевали, объяснили как это сделать правильнее... То, что мне нужно, я нашёл, но не могу это задействовать правильно. Думал может кто-то поможет готовым фреймворком и объяснит как его правильно использовать.
277
23 февраля 2011 года
arrjj
1.7K / / 26.01.2011
1)в js делаем массив фонов, при загрузке страницы body.style.background=(рендомно выбираем картинку|или в кукизах храним последнюю просмотренную и выбираем следующую из массива).
2)постоянная смена фона в javascript есть setInterval(функция, интервал);, окторая регулярно по прошествии интервала вызывает функцию(в твоём случае со сменой фона)
а вот на счет плавной смены фона....хз Как вариант фон не через body а 1-н img на всю область страници, 2-й img плавно проявлять поверх первого.
32K
23 февраля 2011 года
Clubberry
186 / / 19.01.2011
Та про плавное я в принципе нашёл пример сайта, но ещё просто не пытался его задействовать, но там прцоесс будет сложнее, чем просто смена фона.
274
23 февраля 2011 года
Lone Wolf
1.3K / / 26.11.2006
Ну ксс, тут вряд-ли поможет.
А ЖСом, запросто.
Вешаеш даный код на выполнение после загрузки страницы и все.
Если менять картинку в бэкграунде, то все аналогино. либо масив картинок и случайный елемент, либо имена файлов специально подбираешь.
 
Код:
randColor = (Math.floor(Math.random()*0xFFFFFF)).toString(16);
document.body.style.backgroundColor='#'+randColor;
277
23 февраля 2011 года
arrjj
1.7K / / 26.01.2011
Lone Wolf,
[HTML]
<html>
<head>
</head>
<body>
<b>Blah-blah-blah...</b>
<script language="javascript">
function chbg()
{
randColor = (Math.floor(Math.random()*0xFFFFFF)).toString(16);
document.body.style.backgroundColor='#'+randColor;
}
chbg();
setInterval(chbg,500);
</script>
</body>
</html>
[/HTML]
274
23 февраля 2011 года
Lone Wolf
1.3K / / 26.11.2006
ну с интервалом понятно.
я про разовое изменение на онлоад.
Хотя я бы и вызов setInterval вешал на onload
277
23 февраля 2011 года
arrjj
1.7K / / 26.01.2011
Тогда функцию смены фона надо до <body onload> объявлять. а то js может вывалится с ошибкой что undefined
274
23 февраля 2011 года
Lone Wolf
1.3K / / 26.11.2006
а кстати да. Лобовой вариант ))
А то я обычно в Event.observe все делаю
369
23 февраля 2011 года
Kesano
451 / / 09.10.2007
Аффтору как вариант:
Предлагаю ваш CSS подключать как:
[HTML]<link rel="stylesheet" type="text/css" href="/css.php" />[/HTML]

И в этом PHP файле вы описываете ваш CSS и секцию body делаете так:
[HTML]body {
background-image:url(/img/<?= $randomimage ?>)
}[/HTML]
Ну и где-то в начале скрипта описываете генерацию случайной картинки...
Здесь вы можете использовать функции чтения директории с картинками (man scandir() )... В результате добавление\удаление картинок стиля сведется к тому, что вам нужно будет закинуть\удалить картинку из каталога на сервере...

При этом, во избежание проблем с кэшом, советую при выводе хтмла подключать случайное число (таймштамп подойдет)в качестве GET-параметра к ссылке на таблицу стилей.

И выглядеть будет так:
[HTML]<link rel="stylesheet" type="text/css" href="/css.php?1234567890" />[/HTML]

Единственное над чем прийдется потрудиться - это разобраться с работой scandir и получать рэндомно значение массива избегая каталогов "." и "..".
15
23 февраля 2011 года
shaelf
2.7K / / 04.05.2005
Зачем делать PHP то, что должен делать JS?
369
23 февраля 2011 года
Kesano
451 / / 09.10.2007
А если нет JS?
277
23 февраля 2011 года
arrjj
1.7K / / 26.01.2011
а если есть? +динамическую смену фона через цсс не сделаешь.
13
23 февраля 2011 года
RussianSpy
3.0K / / 04.07.2006
Цитата: Kesano
А если нет JS?


Я вот все смотрю на такие заявления и все удивляюсь. Не надоело? Ну нет JS - значит ничего не увидит. А если у него нет цветного монитора и он пользуется монохромным CGA монитором или вообще не дай бог осциллографом? А если у человека нет интернета - будете оффлайн версию делать и раздавать? А если компа нет - будете на бумажке печатать?

Нет JS - это проблемы того у кого его нет и из-за своей паранойи его отключает. Без JS 75% современного интернета таким людям недоступна, а значит как я уже и говорил - это их проблемы потому, что они сами так захотели.

369
23 февраля 2011 года
Kesano
451 / / 09.10.2007
2 shalef & arrjj:
Не устали флудить?

Идите читайте первый пост топикстартера.
1. Человека JS интересовал лишь как крайний случай. А не единственно необходимый.
2. Я предложил вариант решения, простой и гибкий. А ваш JS нужно постоянно править при добавлении новых картинок.
277
23 февраля 2011 года
arrjj
1.7K / / 26.01.2011
Ничто не мешает генерацию массива для js вынести в php.
Цитата:
...Хотелось бы узнать, можно ли это сделать посредством HTML/CSS...


про пхп речи не было.
2-й пост ТС'а

Цитата:
...Было бы конечно интереснее, если бы фон плавно менялся...


сделай на css.

А вобще да, хавтит флудить)) Тема раскрыта по самое нехочу.

369
23 февраля 2011 года
Kesano
451 / / 09.10.2007
Цитата: RussianSpy
Я вот все смотрю на такие заявления и все удивляюсь. Не надоело? Ну нет JS - значит ничего не увидит. А если у него нет цветного монитора и он пользуется монохромным CGA монитором или вообще не дай бог осциллографом? А если у человека нет интернета - будете оффлайн версию делать и раздавать? А если компа нет - будете на бумажке печатать?

Нет JS - это проблемы того у кого его нет и из-за своей паранойи его отключает. Без JS 75% современного интернета таким людям недоступна, а значит как я уже и говорил - это их проблемы потому, что они сами так захотели.



Зачем заниматься вёрсткой с головной болью под IE6? Ведь в мире давно доминируют нормальные браузеры со сносной поддержкой стандартов CSS?
Зачем ставить ГБО на машину, когда можно купить электромобиль\гибрид?
Зачем писать подобные вопросы на форуме, когда в интернете все мануалы есть?

А как ручкой писать буквы хоть помнишь еще???

Я предложил нормальный, работающий, гибкий вариант... :) Не нравится - не делайте так... Но ТС, как начинающий, должен знать и такой подход.

277
23 февраля 2011 года
arrjj
1.7K / / 26.01.2011
Цитата: Kesano
Зачем заниматься вёрсткой с головной болью под IE6? Ведь в мире давно доминируют нормальные браузеры со сносной поддержкой стандартов CSS?


И включенным js :)

369
23 февраля 2011 года
Kesano
451 / / 09.10.2007
Цитата: arrjj
И включенным js :)



Ну типа того :)
Я к тому, что много чего есть... С включенным\отключенным.
Кстати, ИМХО, постоянная смена фона (динамическая, без перезагрузки страницы) будет отвлекать пользователя непосредственно от содержания страницы, читаемого текста и т.д... Так что, с точки зрения маркетинга, это может быть не самый удачный ход (если, конечно, это не является главной идеей сайта).

13
23 февраля 2011 года
RussianSpy
3.0K / / 04.07.2006
Цитата: Kesano
Зачем заниматься вёрсткой с головной болью под IE6? Ведь в мире давно доминируют нормальные браузеры со сносной поддержкой стандартов CSS?


А вменяемые люди уже и не занимаются версткой под это гогно. Большинство веб-студий делают это за отдельные деньги.

Цитата: Kesano
Зачем ставить ГБО на машину, когда можно купить электромобиль\гибрид?


Гибриды отличная тема, но пока моделей мало и стоят они дорого. А на электротяге стоять в пробке вообще идеальный вариант, особенно учитывая, что по вечерам (а также утрам и днем) крупные города вроде Москвы и Питера превращаются в одну гигантскую пробку.

Цитата: Kesano
Зачем писать подобные вопросы на форуме, когда в интернете все мануалы есть?


Незачем писать. Топикстартер мог легко погуглить и за 10 минут найти ответ на свой вопрос. Но не умеет он этого делать и не додумался. Вопрос не особо сложный и решение его занимает пару строк. Поэтому ему ответили, а не отправили в гугл.

Цитата: Kesano
А как ручкой писать буквы хоть помнишь еще???

Зачем говнишь, а?

Цитата: Kesano
Я предложил нормальный, работающий, гибкий вариант... :) Не нравится - не делайте так... Но ТС, как начинающий, должен знать и такой подход.


Вариант рабочий, но неэффективный. Предложи еще модуль для апача написать, подменяющий фон. Или еще лучше сниффер, который вылавливает пакеты НТТР протокола и подменяет там цвет фона. Тоже вполне будет работать. Но это будет несоответствие проблемы решению. Если на улице гопник отнял у школьника деньги, то можно, конечно, на решение этой проблемы отправить танковую дивизию и стратегические бомбардировщики, но это будет идиотизм.
К тому же претензия была не к решению на основе РНР, а на фразу "а если JS отключен". У кого отключен - тот обламывается и это его проблемы.

15
23 февраля 2011 года
shaelf
2.7K / / 04.05.2005
2Kesano Нет, не устал. А тебе советую посмотреть за окно, там 2011 год, а не 2004, где все боялись "а вдруг нет JS". Сейчас вообще никого не волнует есть он у тебя или нету, его просто вешают. Отключил - сам себе злобный буратино. А советовать изначально УГ (не указывая, что так возможно, но делать НЕЛЬЗЯ!) это вверх ламеризма. Клиентская сторона должна заботится сама о себе. Добавили картинок - здорово. Есть верстальщик он добавит.
32K
23 февраля 2011 года
Clubberry
186 / / 19.01.2011
Ох же вы и разфлудились! :D

Правильно говорит RussianSpy, я его поддерживаю всеми руками и ногами. Я не собираюсь делая сайт-визитку подстраиваться под каждый браузер, кроме тех которые сейчас используют многие, включён js или нет — проблемы не мои, я всё вижу. Люди, с которыми я больше всего общаюсь ВСЕ используют js и будут всё нормально видеть.

Меня интересовал HTML/CSS — так нельзя. На КРАЙНИЙ случай JS. PHP для меня ещё тёмный, я вообще не знаком с ним, ни с одним понятием.

Гуглить я буду дома. На работе нет доступа в интернет, кроме парочки сайтов. Я бы и не спрашивал Вас, тем более, осознавая, что Вы всё равно пошлёте меня в гугл. Не вижу смысла вообще в форуме, если посылают в гугл. Глуповато.
274
23 февраля 2011 года
Lone Wolf
1.3K / / 26.11.2006
Цитата: Clubberry
Гуглить я буду дома. На работе нет доступа в интернет, кроме парочки сайтов. Я бы и не спрашивал Вас, тем более, осознавая, что Вы всё равно пошлёте меня в гугл. Не вижу смысла вообще в форуме, если посылают в гугл. Глуповато.


Ты не прав. Такие вопросы на форуме - в 99% это лень и не умение самостоятельно искать решения. И тогда вопрос - зачем такие программисты?

В твоем 1% случае, ситуация обьективная. Закрыты большинство сайтов, и гугл помочь не может. Тем более видно, что ты не просто ищещь как бэ это сделать, а учишся. И то что тебе ответят, ты запомнишь и обдумаешь. По этому тебя в гугл не отправляют, ибо тебе приятно помогать.

Но в 99% случаев за такой вопрос отправляли, отправляют и будут отправлять в гугл.

Без обид, тут только ИМХО.

P.S. а вобще можешь, даже, в скайп мне стучать. Если не буду занят подскажу и смогу - отвечу.

369
23 февраля 2011 года
Kesano
451 / / 09.10.2007
2 Спай:
Потому что ты гов(нишь|нюк) !< (не меньше)... Только критика и не более... Это проблема гиков. ) Нужно быть добрее и терпимее :)
Кстати, про сниффинг пакетов я не подумал... Нужно попробовать :)))

2 Шалфей:
Во-первых, я извучил твои последние посты (и в других темах тоже), и выяснил, что в твоих постах кроме флуда ничего нету...
Во-вторых, твоя фраза про клиентсткую сторону звучит как "Я вот тут наваял говно, а вы как хотите, так и работайте с ним"... Это подход самовлюбленных идиотов
В-третьих, используя мой метод мы просто избавляемся от верстальщика, а значит и лишних расходов... Закинуть файл в папку на сервере может и бухгалтерша )))

Суммарно:
CLubbery, делай как тебе удобно, варианты тебе расписали... а их (быстрых, гибких и удобных) - два... на JS или на PHP\ASP\etc... Т.е. или сервером отдаешь случайную картинку, или клиентом генерируешь...

А вообще для "соблюдения" гибкости и сочетания обоих методов можно делать так:
PHP-ой генерировать JS-код... А конкретно - массив с именами файлов картинок (можно тем же scandir), и отдавать пользователю.
Таким образом, ты можешь работать JSом (ну там, плавно картинки менять и пр.), но при этом добавление картинок остается таким же элементарным - копированием в папку.
369
23 февраля 2011 года
Kesano
451 / / 09.10.2007
2 LoneWolf
А можно я буду тебе скайп разрывать? ))
Многие твои идеи мне нравятся.. можно организовать коллективный ум онлайн )

2 All
Забыл добавить:
Вы же помните, что сейчас на дворе 2011 год и многие в интернете выходят со смартфонов и планшетов...
И большинство из них не очень производительные. Так что ваш JS будет в лучшем случае чуть-чуть тормозить... В лучшем, при динамической смене фона (плавной) будет просто умирать... Так что вы осторожней с этим ) Оно красиво и т.д... но люди не любят тормозных сайтов...
32K
23 февраля 2011 года
Clubberry
186 / / 19.01.2011
Цитата: Lone Wolf
Ты не прав. Такие вопросы на форуме - в 99% это лень и не умение самостоятельно искать решения. И тогда вопрос - зачем такие программисты?

В твоем 1% случае, ситуация обьективная. Закрыты большинство сайтов, и гугл помочь не может. Тем более видно, что ты не просто ищещь как бэ это сделать, а учишся. И то что тебе ответят, ты запомнишь и обдумаешь. По этому тебя в гугл не отправляют, ибо тебе приятно помогать.

Но в 99% случаев за такой вопрос отправляли, отправляют и будут отправлять в гугл.

Без обид, тут только ИМХО.

P.S. а вобще можешь, даже, в скайп мне стучать. Если не буду занят подскажу и смогу - отвечу.



Было бы на что обижаться. :)

P.S. Вчера дома лазил по форуму jquery и там в принципе что-то накопал + помогли немного разобраться, но всё же не срабатывает.

С помощью сделал вот такое:

 
Код:
var bgPath = 'img/bg0.jpg';
var imagesNumber = 2;
var rndBg =  Math.floor(Math.random() * imagesNumber);
document.body.style.backgroundImage = 'url(' + bgPath + rndBg + '.jpg)';


У меня два изображения bg0.jpg, bg1.jpg. Всё указано в процессе скрипта.

P.S. Когда убираю звёздочку или меняю на число, то фон появляется, но не меняется.
277
23 февраля 2011 года
arrjj
1.7K / / 26.01.2011
 
Код:
var bgPath = 'img/bg';
var imagesNumber = 2;
var rndBg =  Math.floor(Math.random() * imagesNumber);
document.body.style.backgroundImage = 'url(' + bgPath + rndBg + '.jpg)';
369
23 февраля 2011 года
Kesano
451 / / 09.10.2007
Цитата: Clubberry

С помощью сделал вот такое:
 
Код:
var bgPath = 'img/bg0.jpg';
var imagesNumber = 2;
var rndBg =  Math.floor(Math.random() * imagesNumber);
document.body.style.backgroundImage = 'url(' + bgPath + rndBg + '.jpg)';


У меня два изображения bg0.jpg, bg1.jpg. Всё указано в процессе скрипта.

P.S. Когда убираю звёздочку или меняю на число, то фон появляется, но не меняется.



:) Ты опять невнимателен... Как в предыдущем топике )))
По тем параметрам что ты ввёл у тебя строка урла получится img/bg0.jpg1.jpg
У тебя есть такой файлик на сервере??? ))))
var bgPath = 'img/bg';
Вот так должно выглядеть )

arrjj апиридил :)
Видишь, формумчане наперебой пытаются тебе помочь что аж до перепалок доходит ))) А ты спрашиваешь "зачем форум?" )

15
23 февраля 2011 года
shaelf
2.7K / / 04.05.2005
2Козел. (ровно так же как и я шалфей).

1. Форум место для дискусий, а не "вопрос - ответ"
2. Покажи хоть один флудный пост (где я об этом не писал)? (Т.е. он не по теме был). Отсутствие кода != отсутствие помощи.

Цитата:
Во-вторых, твоя фраза про клиентсткую сторону звучит как "Я вот тут наваял говно, а вы как хотите, так и работайте с ним"... Это подход самовлюбленных идиотов


Это фраза основана на 7ми летнем опыте, а не взята из воздуха. Советую тебе твой новый портал (если доверит кто) оптимизировать под lynx.

Далее, читаем про "доступность сайта" и понимаем, что главное на сайте это информация, а не фон оного и если у человека не будет меняться фон - ничего страшного. Хотя тебе об этом бесполезно говорить.

Цитата:
В-третьих, используя мой метод мы просто избавляемся от верстальщика, а значит и лишних расходов... Закинуть файл в папку на сервере может и бухгалтерша )))



Угу, ей больше заняться не чем. Хотя, читая твои посты я понимаю, что ты привык делать сайты которые забиваются и обслуживаются уборщицами, извини, из таких я уже года 4 как вырос.

PS Ты навел меня на мысль, немного добавить буквок в подписи.

369
23 февраля 2011 года
Kesano
451 / / 09.10.2007
Цитата:
PS Ты навел меня на мысль, немного добавить буквок в подписи.


Цитата:
Не стоит спорить с идиотом, а то опустишься до его уровня и он затопчет тебя опытом


Правильно. Твоя новая подпись == предупреждение. Сдаюсь. Затоптал ты меня свойм 7-летним опытом)

По сути топика я ответил всё что мог.
CLubbery, как сделаешь - хоть результатом похвастайся (ссылку кинь) :)

244
23 февраля 2011 года
UAS
2.0K / / 19.07.2006
Ухахха, shaelf +1 :D
Кесано, успокойся, Shaelf прав здесь полностью. А ты вообще не понимаешь смысл backend и frontend. php не должен генерировать js (кроме редких случаев, когда генерирует лишь данные), не должен генерировать css. Всякие картинки и прочее - это желательно указывать в клиентской части, т.к. тогда становится явная независимость разных участков кода, что всегда намного лучше (с опытом это понимается отчетливо, что лучше делать полностью независимые участки программы).

Посчет того, что может быть отключен JS - это действительно проблема юзверя. Давайте ещё подумаем о том, что у пользователя может быть и CSS отключен. У меня вон была пара знакомых товарищей, которые использовали свои стили для всех страниц, у них убивалась вся графика и разметка - так не парится же нам теперь из-за пары таких странных людей.

Имхо, тему надо закрывать, ибо тут столкновение троллей и с опытными людьми назревает.
32K
23 февраля 2011 года
Clubberry
186 / / 19.01.2011
Ваааа! Вы все учитэлы! Спасибо, я об этом не думал, опыт сказываеться и плохое знание языка. :D
Всё чотка пашет! :D Спасибочки огромное ребятушки. цём вас всех :******

Козёл, шалфей... Нувыдайоте! XD

Kesano, я на сервер ещё не выкладывал. Сегодня уже думаю выложу, ибо закончил, дальше будет просто мелкие апдейты. Ах да, ещё твиттер привяжу и всё (слава Богу он уже сделан и всё стабильно работает).
32K
23 февраля 2011 года
Clubberry
186 / / 19.01.2011
Цитата: UAS
Имхо, тему надо закрывать, ибо тут столкновение троллей и с опытными людьми назревает.



Согласен. Закройте пожалуйста тему. Я получил хорошие советы, результат получил и радует. :)

369
23 февраля 2011 года
Kesano
451 / / 09.10.2007
Пейте пиво пенное - будет чем похвастаться )
274
23 февраля 2011 года
Lone Wolf
1.3K / / 26.11.2006
Вот пока вернулся уже и ответили.
А я дам тебе один совет.
Дебажь свой код. видишь, что не работает, ставб между каждой командой brakepoint-ы, например alert-ы, а еще лучше console.log(), но нужен firebug.
И смотри, что отработало и с каким результатом.
В последнем примере, тебе хватило бы просмотра результат генерации урл-а для картинки. Сразу бы увидел завтык.

2Kesano, да пожалуйста пиши.
А вобще я постоянно вишу в комнате #codenet@conference.jabber.org тут еще проще будет.
32K
23 февраля 2011 года
Clubberry
186 / / 19.01.2011
Цитата: Lone Wolf
Вот пока вернулся уже и ответили.
А я дам тебе один совет.
Дебажь свой код. видишь, что не работает, ставб между каждой командой brakepoint-ы, например alert-ы, а еще лучше console.log(), но нужен firebug.


По твоему же совету установил firebug, но не пытался его использовать. Сегодня попробую.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог