Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Изменение изображения на кнопке в зависимости от текущего url (https://javascript.ru/forum/dom-window/20899-izmenenie-izobrazheniya-na-knopke-v-zavisimosti-ot-tekushhego-url.html)

Loiso 22.08.2011 11:26

Изменение изображения на кнопке в зависимости от текущего url
 
Добрый день, господа!
"Помогите!", "Не работает скрипт!", "Я нуб, нужен совет" :)
Есть кнопочка <input name='enter' type='image' scr='1.gif' onClick='fuction()'>
Нужно, чтобы выполнялась проверка по части url после домена через document.location.pathname, затем выбиралось первых 4 символа через substr(0,4) и выполнялась проверка полного соответствия этих символов заданным. и в зависимости от проверки подставлялось нужное значение в параметр "scr" кнопки.
Т.е
if (document.location.pathname.substr(0,4) == abcs)
{
<input name='enter' type='image' scr='1.gif' onClick='fuction()'>
}
else
{
<input name='enter' type='image' scr='2.gif' onClick='fuction()'>
}
Вот как-то так.

Помогите, пожалуйста, все это собрать в работающий скрипт.
Огромное спасибо за помощь.

tadjik1 22.08.2011 15:52

так у вас всё уже и собрано, только строчку надо засунуть в кавычки — 'abcs' и обращение к атрибуту реализовать.

if (location.pathname.substr(0,4) == 'abcs') {
     $(":image").attr('scr', '1.gif');
}

Loiso 22.08.2011 18:00

Спасибо, tadjik1, за подсказку про атрибуты!
Вообщем сделал так:
<script type='text/javascript'>
function load_images()
{
if (location.pathname.substr(0,4) == 'abcs')
{
document.getElementById("img1").setAttribute('src' ,'img/1.GIF');
}
else
{
document.getElementById("img1").setAttribute('src' ,'img/2.GIF');
}
</script>

<input name="Button" Id="img1" type="image" src="load_images()" onclick="function()">
Но не работает((
Картинки не подгружаются, подскажите где косяк.
Спасибо!

yashka525 22.08.2011 19:50

А Вы уберите src="load_images()", оно не нужно, скрипт сам поставит src. И когда эта функция вызывается? Onload? Вообще это можно намного легче написать:
function load_images(){
  var img1 = document.getElementById('img1');
  (location.pathname.substr(0,4) == 'abcs')?(img1.setAttribute('src' ,'img/1.GIF')):(img1.setAttribute('src' ,'img/2.GIF'));
}
window.onload = load_images;

<input name="Button" Id="img1" type="image" />

Loiso 23.08.2011 09:23

Спасибо огромное вам, yashka525. Все работает!


Часовой пояс GMT +3, время: 18:19.