Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   js смена изображение на время. (по клику) (https://javascript.ru/forum/dom-window/33731-js-smena-izobrazhenie-na-vremya-po-kliku.html)

stanislavmart 05.12.2012 19:30

js смена изображение на время. (по клику)
 
<script>
function chg(id){
if (document.getElementById(id).src.indexOf("222.jpg" )>0){
document.getElementById(id).src="up.png"
}
}
</script>

Есть скрипт меняет изображение при нажатие на ссылку, нужно дописать чтобы через 3-4 секунды возвращалась картинка обратно.

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

stanislavmart 05.12.2012 19:32

<img src="222.jpg" id="img_1" onClick="chg(this.id)" >

Sanda 06.12.2012 09:25

function chg(id) {
  var elem = document.getElementById(id);
  //сравнение не через >, а через >=
  //если там всегда '222.jpg', лучше вообще сделать через ===
  if (elem.src.indexOf('222.jpg') >= 0) {
    //сохраняем прежнее значение атрибута src
    var oldSrc = elem.src;
    //устанавливаем новую картинку
    elem.src = 'up.png';
    //и задаём возврат в исходное состояние
    //через 3 секунды
    setTimeout( 
      function () {
        elem.src = oldSrc;
      }
      , 3000
    );
  }
}

Аналогичным образом делается и смена текста в ссылке.

lord2kim 06.12.2012 17:09

Цитата:

Сообщение от Sanda (Сообщение 219838)
function chg(id) {
  var elem = document.getElementById(id);
  //сравнение не через >, а через >=
  //если там всегда '222.jpg', лучше вообще сделать через ===
  if (elem.src.indexOf('222.jpg') >= 0) {
    //сохраняем прежнее значение атрибута src
    var oldSrc = elem.src;
    //устанавливаем новую картинку
    elem.src = 'up.png';
    //и задаём возврат в исходное состояние
    //через 3 секунды
    setTimeout( 
      function () {
        elem.src = oldSrc;
      }
      , 3000
    );
  }
}

Аналогичным образом делается и смена текста в ссылке.

if (elem.src.indexOf('222.jpg') != -1) {

имхо проще и понятнее

Sanda 06.12.2012 18:04

lord2kim,
согласен (: Так всегда и делаю, но увидев в скрипте '>0', потерялся и написал ерунду (:


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