Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как изменить скрипт
 
 автор: immortal727   (06.04.2014 в 18:22)   письмо автору
 
 

Для изминения картинки в шапке, нашел следующий код. Но в 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 такой-то

  Ответить  
 
 автор: confirm   (07.04.2014 в 09:15)   письмо автору
 
   для: immortal727   (06.04.2014 в 18:22)
 

Зачем вообще тогда скрипт, если не случайно и не на клиенте?
Где определяются URL, который на данный момент должен быть отображен?
То есть, если вы отдаете страницу зная какого URL картинку нужно вывести, то и помещайте сразу ее в шапку, скрипта на клиенте для этого не надо. Можно ведь, зная индекс текущего URL, элементу header указывать класс как header-0, header-1, ..., при выводе страницы, а все эти стили сразу прописать в CSS.

  Ответить  
 
 автор: immortal727   (10.04.2014 в 10:35)   письмо автору
 
   для: confirm   (07.04.2014 в 09:15)
 

Согласен, я это сделал. А если этих страниц много, что для каждой странички прописывать свой класс, неудобно. Хотелось бы задать скажем 5-6 url отдельные картинки, а для других страниц чтоб по умолчанию была одна конкретная картинка.

  Ответить  
 
 автор: KPETuH   (10.04.2014 в 11:45)   письмо автору
 
   для: immortal727   (06.04.2014 в 18:22)
 

использовать в имени картинки элементы имени url'а, тогда будете выводить только ту картинку которая нужна без всяких массивов.

  Ответить  
 
 автор: immortal727   (10.04.2014 в 12:10)   письмо автору
 
   для: KPETuH   (10.04.2014 в 11:45)
 

Не понял, как это сделать?

  Ответить  
 
 автор: KPETuH   (10.04.2014 в 14:06)   письмо автору
 
   для: 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

Разбираете урл загружаете нужную картинку

  Ответить  
 
 автор: immortal727   (10.04.2014 в 16:28)   письмо автору
 
   для: KPETuH   (10.04.2014 в 14:06)
 

Вообще не понятно как это осуществить. Хоть пример бы привели какой-нибудь. Я не сильно силен в яваскрипт, только учусь

  Ответить  
 
 автор: KPETuH   (10.04.2014 в 16:40)   письмо автору
 
   для: immortal727   (10.04.2014 в 16:28)
 

Как я понял вам нужно на каждой странице выводить картинку (банер) причем на каждой странице он разный? Так?

  Ответить  
 
 автор: immortal727   (11.04.2014 в 10:34)   письмо автору
 
   для: KPETuH   (10.04.2014 в 16:40)
 

Да, так. Скажем на 6 url картика будет своя для каждого, а для остальных уже по умолчанию одна

  Ответить  
 
 автор: KPETuH   (11.04.2014 в 11:26)   письмо автору
 
   для: 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 как и с забором

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования