|
|
|
| Для изминения картинки в шапке, нашел следующий код. Но в Javascript очень слабо разбираюсь. Помогите пожалуйста. Как изменить его, чтобы изображение было не рандомно, а привязывалось конкретно к нужному url? Может как-то архив его создавать новый для ссылок, но вот как его использовать не пойму.
<style type='text/css'>#header {
background: url("../images/head-bg1.jpg") 0 100% no-repeat;
}
</style><script type="text/javascript">
var banner= new Array();
banner[0]="<?php echo $this->baseurl ?>/templates/artkonfitur/images/head-bg2.jpg";
banner[1]="<?php echo $this->baseurl ?>/templates/artkonfitur/images/head-bg3.jpg";
banner[2]="<?php echo $this->baseurl ?>/templates/artkonfitur/images/head-bg4.jpg";
banner[3]="<?php echo $this->baseurl ?>/templates/artkonfitur/images/head-bg5.jpg";
banner[4]="<?php echo $this->baseurl ?>/templates/artkonfitur/images/head-bg6.jpg";
var random=Math.round(4*Math.random());
document.write("<style>");
document.write("#header {");
document.write(' background:url("' + banner[random] + '") 0 100% no-repeat;');
document.write(" }");
document.write("</style>");
</script>
|
Можно конечно сделать архив скажем "url" и для каждой url прописать
url[0]="Ccылка"; и т.д.
Но нужно как-то составить цикл на проверку если url такой-то, то выводить стиль для #header такой-то | |
|
|
|
|
|
|
|
для: immortal727
(06.04.2014 в 18:22)
| | Зачем вообще тогда скрипт, если не случайно и не на клиенте?
Где определяются URL, который на данный момент должен быть отображен?
То есть, если вы отдаете страницу зная какого URL картинку нужно вывести, то и помещайте сразу ее в шапку, скрипта на клиенте для этого не надо. Можно ведь, зная индекс текущего URL, элементу header указывать класс как header-0, header-1, ..., при выводе страницы, а все эти стили сразу прописать в CSS. | |
|
|
|
|
|
|
|
для: confirm
(07.04.2014 в 09:15)
| | Согласен, я это сделал. А если этих страниц много, что для каждой странички прописывать свой класс, неудобно. Хотелось бы задать скажем 5-6 url отдельные картинки, а для других страниц чтоб по умолчанию была одна конкретная картинка. | |
|
|
|
|
|
|
|
для: immortal727
(06.04.2014 в 18:22)
| | использовать в имени картинки элементы имени url'а, тогда будете выводить только ту картинку которая нужна без всяких массивов. | |
|
|
|
|
|
|
|
для: KPETuH
(10.04.2014 в 11:45)
| | Не понял, как это сделать? | |
|
|
|
|
|
|
|
для: immortal727
(10.04.2014 в 12:10)
| | ну что нить типа
url = http://example.com/index.php
img = index.php.baner.jpg
url = http://example.com/view.php
img = view.php.naber.jpg
Разбираете урл загружаете нужную картинку | |
|
|
|
|
|
|
|
для: KPETuH
(10.04.2014 в 14:06)
| | Вообще не понятно как это осуществить. Хоть пример бы привели какой-нибудь. Я не сильно силен в яваскрипт, только учусь | |
|
|
|
|
|
|
|
для: immortal727
(10.04.2014 в 16:28)
| | Как я понял вам нужно на каждой странице выводить картинку (банер) причем на каждой странице он разный? Так? | |
|
|
|
|
|
|
|
для: KPETuH
(10.04.2014 в 16:40)
| | Да, так. Скажем на 6 url картика будет своя для каждого, а для остальных уже по умолчанию одна | |
|
|
|
|
|
|
|
для: immortal727
(11.04.2014 в 10:34)
| | например
var url = location.pathname;
if (url == '/') url = '/index.html';
switch(result) {
case '/index.html':
case '/index1.html':
case '/index2.html':
case '/index3.html':
case '/index4.html':
case '/index5.html':
$('#header').css({"background": "url('/templates/artkonfitur/images/"+url+".baner.jpg')"});
break;
default:
$('#header').css({"background": "url('/templates/artkonfitur/images/default.baner.jpg')"});
}
|
при этом имена картинок у вас должны быть вида index.html.baner.jpg и тп.
этот пример опять же с использованием jquery как и с забором | |
|
|
|