Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.01.2010, 17:10
Аватар для Ivanishin
Интересующийся
Отправить личное сообщение для Ivanishin Посмотреть профиль Найти все сообщения от Ivanishin
 
Регистрация: 08.10.2008
Сообщений: 13

Помогите сделать скрол изображения
Доброго времени суток! Прошу помощи с весьма непростым для меня вопросом.

Итак, есть <div></div> листинг ниже.

<div id="hall" class="hall_cont" style="margin: auto; background: transparent url(saal_img.jpg) no-repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; width: 1242px; height: 952px; position: relative; top: 0px; left: 0px;"></div>


В итоге на странице отображается "часть" рисунка. Вот так.



Исходный рисунок, который идет на бекграунд в DIV вот.



Задача: как сделать и что использовать, чтобы происходил скрол бэкграунда в DIV при вождении указателя мышки по диву? То есть если мы будем вести мышку в диве направо - бэкраунд плавно "съезжает" тоже вправо. И как реагировать на скорость "ведения" курсора, чтобы скрол бэкраунда мог также менять свою скорость?

Задача нелегкая, но я думаю вы мне подскажете. Прошу вас помочь примерами.
Всем спасибо за проявленный интерес.
Ответить с цитированием
  #2 (permalink)  
Старый 29.01.2010, 19:54
Аспирант
Отправить личное сообщение для PepeL Посмотреть профиль Найти все сообщения от PepeL
 
Регистрация: 30.09.2009
Сообщений: 61

Диву присвой свойство overflow:hidden;
картику вложи в див, с position:absolute; и по событию onmousemove установленном на диве изменяй свойства left и top картинки
Ответить с цитированием
  #3 (permalink)  
Старый 30.01.2010, 02:16
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

Сообщение от PepeL
и по событию onmousemove установленном на диве изменяй свойства left и top картинки
зачем если можно изменять background-position ?
А скорость регулирется расстоянием от центра Div.
Ответить с цитированием
  #4 (permalink)  
Старый 30.01.2010, 09:53
Аспирант
Отправить личное сообщение для PepeL Посмотреть профиль Найти все сообщения от PepeL
 
Регистрация: 30.09.2009
Сообщений: 61

Цитата:
зачем если можно изменять background-position ?
можно и так )
Ответить с цитированием
  #5 (permalink)  
Старый 30.01.2010, 13:59
Аватар для Ivanishin
Интересующийся
Отправить личное сообщение для Ivanishin Посмотреть профиль Найти все сообщения от Ivanishin
 
Регистрация: 08.10.2008
Сообщений: 13

То есть можно начать так?
<style type="text/css">
.hall_container{
  border: 2px #da251d dotted;
  overflow: hidden;
  width: 550px;
  height: 550px;
  position: relative;
  top: 0;
  left: 0;
  margin: auto;
  background: transparent url(hall.jpg) no-repeat scroll 0% 0%;}
</style>
<script language="javascript" type="text/javascript">
<!--
function scrollHall()
{

}
//-->
</script>
</head>

<body>

<div id="hall_container" class="hall_container" onmousemove="scrollHall()">/div>

</body>
Ответить с цитированием
  #6 (permalink)  
Старый 30.01.2010, 21:03
Аватар для PeaceCoder
Профессор
Отправить личное сообщение для PeaceCoder Посмотреть профиль Найти все сообщения от PeaceCoder
 
Регистрация: 15.12.2009
Сообщений: 742

только
<div id="hall_container" class="hall_container" onmousemove="scrollHall(this)"></div>

что бы в функцию попадал элемент который надо сместить (что бы не выбирать его повторно)
осталось написать функцию.
Ответить с цитированием
  #7 (permalink)  
Старый 31.01.2010, 22:31
Аватар для Ivanishin
Интересующийся
Отправить личное сообщение для Ivanishin Посмотреть профиль Найти все сообщения от Ivanishin
 
Регистрация: 08.10.2008
Сообщений: 13

Вопрос, как узнать координаты мыши относительно div id="hall_container" ?
Ответить с цитированием
  #8 (permalink)  
Старый 31.01.2010, 23:25
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от Ivanishin Посмотреть сообщение
Вопрос, как узнать координаты мыши относительно div id="hall_container" ?
Вот формула: http://javascript.ru/blog/Andrej-Par...ta-na-stranice

+ вот тут показано как узнать координату мыши.

А дальше вычитаем из одного другое и получаем смещение по х и у относительно div id="hall_container"

ps: вчера не доглядел и написал пол решения, сегодня дописал

Последний раз редактировалось Gozar, 01.02.2010 в 10:04.
Ответить с цитированием
  #9 (permalink)  
Старый 01.02.2010, 18:01
Аватар для Ivanishin
Интересующийся
Отправить личное сообщение для Ivanishin Посмотреть профиль Найти все сообщения от Ivanishin
 
Регистрация: 08.10.2008
Сообщений: 13

Gozar, спасибо очень помогло=)

Тут еще вопрос нарисовался к знатокам. Вот например кусок кода.

var tmp = document.getElementById('hall_container');
      tmp.style.top = ( tmp.style.top.replace ( 'px', '' ) - 1 ) + 'px';

Нормально попиксельно сдвигает див.

А вот этот
var tmp = document.getElementById('hall_container');
      tmp.style.top = ( tmp.style.top.replace ( 'px', '' ) + 1 ) + 'px';

Заставляет див сместиться на такое количество пикселей, что он сразу улетает очень далеко. Что не правильно, ведь разница в кодах только в знаке?
Ответить с цитированием
  #10 (permalink)  
Старый 01.02.2010, 18:10
Аватар для Мараторий
Кандидат Javascript-наук
Отправить личное сообщение для Мараторий Посмотреть профиль Найти все сообщения от Мараторий
 
Регистрация: 22.01.2010
Сообщений: 114

tmp.style.top = ( parseInt(tmp.style.top) + 1 ) + 'px';
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите сделать начало слайдшоу c рандомной картинки Nekojiru Ваши сайты и скрипты 0 20.07.2009 19:50
Помогите сделать такое меню(( Lilith Я не знаю javascript 2 02.06.2009 02:31
Помогите сделать программу расчета зарплаты сотрудникам Юлия29 Общие вопросы Javascript 1 22.02.2009 23:11
Помогите сделать простое меню debugger Элементы интерфейса 1 09.09.2008 23:14
Как сделать, что бы изображения пропадали. Dronch Элементы интерфейса 7 28.08.2008 21:55