Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.06.2012, 18:10
Новичок на форуме
Отправить личное сообщение для supernet95 Посмотреть профиль Найти все сообщения от supernet95
 
Регистрация: 13.06.2012
Сообщений: 4

изменение со временем
здравствуйте такой вопрос, что надо использовать для написания вот такой штуки.
<img src='/1.jpg' style="left: 13;" id="img1">
<img src='/2.jpg' onmouseover="left()">


<script>
var img1 = document.getElementById("img1");
function left(){
/ что прописать тут?
}
</script>

чтобы при наведении на 2 картинку у первой картинки значение left: 13; плавно изменилось на left: 26; при этом отображаться это должно как будто картинка едет слева на право.
Ответить с цитированием
  #2 (permalink)  
Старый 25.06.2012, 18:15
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

supernet95,
Самое простое, вторую картинку сделать гиф анимацией с однократным запуском (либо запустить аниме с помощью <marguee
Ответить с цитированием
  #3 (permalink)  
Старый 25.06.2012, 18:27
Новичок на форуме
Отправить личное сообщение для supernet95 Посмотреть профиль Найти все сообщения от supernet95
 
Регистрация: 13.06.2012
Сообщений: 4

Сообщение от Deff Посмотреть сообщение
supernet95,
Самое простое, вторую картинку сделать гиф анимацией с однократным запуском (либо запустить аниме с помощью <marguee
gif картинка не подходит так как картинка должна будет двигаться несколько раз на определённые дистанции при определённых условиях, тег <marqee> отпадает так как объект не должен постоянно прокручиваться, а точнее дойдя до определённого числового значения остановится
Ответить с цитированием
  #4 (permalink)  
Старый 25.06.2012, 18:31
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от supernet95
так как объект не должен постоянно прокручиваться, а точнее дойдя до определённого числового значения остановится
у <marquee> есть метод this.stop() и this.start() , привязав его к onmouseover/onmouseout элемента и вставив внутрь картинку - получим искомое
Ответить с цитированием
  #5 (permalink)  
Старый 25.06.2012, 18:53
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

а как насчет css3 анимации?
transition
Ответить с цитированием
  #6 (permalink)  
Старый 25.06.2012, 19:58
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

на js
<img src="http://javascript.ru/forum/image.php?u=19820&dateline=1334914235">
<img src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif">

<script>
window.onload = function () {
  var img = document.getElementsByTagName('img');
  var int;
  img[1].style.position = 'absolute';
  img[1].style.left = 100 + 'px';

  function goRight() {
    if (parseInt(img[1].style.left) < 120) {
      img[1].style.left = parseInt(img[1].style.left) + 1 + 'px'
    } else {
      clearInterval(int);
    }
  }

  function goLeft() {
    if (parseInt(img[1].style.left) > 100) {
      img[1].style.left = parseInt(img[1].style.left) - 1 + 'px'
    } else {
      clearInterval(int);
    }
  }

  img[0].onmouseover = function () {
    clearInterval(int);
    int = setInterval (goRight, 30);
  }

  img[0].onmouseout = function () {
    clearInterval(int);
    int = setInterval (goLeft, 30);
  }

}

</script>

Последний раз редактировалось bes, 25.06.2012 в 20:39.
Ответить с цитированием
  #7 (permalink)  
Старый 25.06.2012, 20:01
Новичок на форуме
Отправить личное сообщение для supernet95 Посмотреть профиль Найти все сообщения от supernet95
 
Регистрация: 13.06.2012
Сообщений: 4

Сообщение от cyber Посмотреть сообщение
а как насчет css3 анимации?
transition
Да, получилось, большое спасибо.
Ответить с цитированием
  #8 (permalink)  
Старый 25.06.2012, 20:02
Новичок на форуме
Отправить личное сообщение для supernet95 Посмотреть профиль Найти все сообщения от supernet95
 
Регистрация: 13.06.2012
Сообщений: 4

Сообщение от bes Посмотреть сообщение
на js
<img src="http://javascript.ru/forum/image.php?u=19820&dateline=1334914235">
<img src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif">

<script>
window.onload = function () {
  var img = document.getElementsByTagName('img');
  var int;
  img[1].style.position = 'absolute';
  img[1].style.left = 100 + 'px';

  function goRight() {
    if (parseInt(img[1].style.left) < 120) {
      img[1].style.left = parseInt(img[1].style.left) + 1 + 'px'
    } else {
      clearInterval(int);
    }
  }

  function goLeft() {
    if (parseInt(img[1].style.left) > 100) {
      img[1].style.left = parseInt(img[1].style.left) - 1 + 'px'
    } else {
      clearInterval(int);
    }
  }

  img[0].onmouseover = function () {
    int = setInterval (goRight, 30);
  }

  img[0].onmouseout = function () {
    int = setInterval (goLeft, 30);
  }

}

</script>
ваш вариант мне тоже понравился, но он маленько будет посложней, огромное спасибо за написание кода, для наглядного примера.
Ответить с цитированием
  #9 (permalink)  
Старый 25.06.2012, 20:04
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

Сообщение от bes Посмотреть сообщение
на js
<img src="http://javascript.ru/forum/image.php?u=19820&dateline=1334914235">
<img src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif">

<script>
window.onload = function () {
  var img = document.getElementsByTagName('img');
  var int;
  img[1].style.position = 'absolute';
  img[1].style.left = 100 + 'px';

  function goRight() {
    if (parseInt(img[1].style.left) < 120) {
      img[1].style.left = parseInt(img[1].style.left) + 1 + 'px'
    } else {
      clearInterval(int);
    }
  }

  function goLeft() {
    if (parseInt(img[1].style.left) > 100) {
      img[1].style.left = parseInt(img[1].style.left) - 1 + 'px'
    } else {
      clearInterval(int);
    }
  }

  img[0].onmouseover = function () {
    int = setInterval (goRight, 30);
  }

  img[0].onmouseout = function () {
    int = setInterval (goLeft, 30);
  }

}

</script>
если несколько раз быстро навести мышь(и убрать) на картинку запуска анимации , анимация виснет и больше не двигается
Ответить с цитированием
  #10 (permalink)  
Старый 25.06.2012, 20:40
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от cyber
если несколько раз быстро навести мышь(и убрать) на картинку запуска анимации , анимация виснет и больше не двигается
Подправил
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическое изменение фона ячейки CyMKuH Элементы интерфейса 2 11.07.2011 15:19
Как обработать изменение масштаба окна в IE8 ? v_k Events/DOM/Window 1 09.08.2010 13:35
Изменение аттрибута action формы firefox svas jQuery 3 27.05.2010 06:56
Динамическое изменение <input text> baal1988 Events/DOM/Window 4 24.08.2008 17:17
Динамическое изменение размеров изображения Макс Элементы интерфейса 7 21.07.2008 16:55