Jump to content
  • 0

Как получить src картинки?


Юрий
 Share

Question

Например есть картинка: romb.gif"

Мне нужно получить значение е? src для того, чтобы потом сравнить с другим значением ;)

т.е.

если src == 'romb.gif' - то выполняем что-либо

если src == 'romb_2.gif' - то ничего не делаем

Link to comment
Share on other sites

Recommended Posts

  • 0

Нужно чтобы при неведении на определ?нный блок выскакивало меню и запускался гиф. Далее, чтобы при работе с появившимся меню гиф работал без скачков. Это нужно, потому-что хочет заказчик ;)

Link to comment
Share on other sites

  • 0

Могу посоветовать только при маусауте запускать таймаут на 100 милисекунд для отмены анимированного гифа, а при маусовере обнулять таймер и смотреть сорс картинки...

Link to comment
Share on other sites

  • 0

Не получается, ты не мог бы код набросать?

Вот что я делаю:

Ставим таймер на маусовер

setTimeout("document.getElementById('romb').src='images/romb.gif'", 100);

Смотрим сорс и обнуляем таймер

pattern = /romb/g;
str = document.getElementById('romb').src;
result = str.match(pattern);

if(result == 'romb') {
setTimeout("document.getElementById('romb').src='images/romb.gif'", 0);
}

Link to comment
Share on other sites

  • 0

надо ставить таймер на маусаут, а не на маусовер. Смотри логику:

До маусовера у нас был срц = romb.gif.

у нас на маусовер сразу стал гиф анимированным.

При переходе границы элементов происходит мгновенный маусаут+маусовер.

На маусаут вешаем таймер, сооответственно при мгновенном маусаут+маусовер сначала вызовется маусовер (так как то, что вызывается по маусауту вызовется только через 100мс) и обнулит таймер маусаута. Соответственно выполнение того, что висит не таймере в маусаут не произойд?т (а это переключение на неподвижный гиф). Соответственно при маусауте (только в этом случае) src картинки будет romb_2.gif.

Банально проверяя срц в мауовере мы делаем то что надо (если это romb_2.gif - то ничего не делаем, иначе ставим срц = romb_2.gif)

Вс?.

Link to comment
Share on other sites

  • 0

function animRomb() {

pattern = /romb_2/g;
str = document.getElementById('romb').src;
result = str.match(pattern);

if(result != "romb_2") {
document.getElementById('romb').src='images/romb_2.gif';
}
clearTimeout(timerId);

}

function statRomb(){
timerId=setTimeout("document.getElementById('romb').src='images/romb.gif'",100);
}

Спасибо большое за помошь, вс? заработало!!! :(

Это первый java script написанный мною, который работает ;)

Link to comment
Share on other sites

  • 0

А как проверить, таймер существует или нет. Т.к. если таймер не запушен (не было аута) при его обнулении в самом начале функции, она не срабатывает с первого раза, картинка не заменяется

Link to comment
Share on other sites

  • 0

ну вот так вообще-то правильнее ;)

Если переменная до этого не существовала, то лучше использовать такую проверку...

Я правда по привычке всегда сначала инициализирую переменные, так что такой формой редко пользуюсь...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy