Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.07.2016, 20:22
310 310 вне форума
Интересующийся
Отправить личное сообщение для 310 Посмотреть профиль Найти все сообщения от 310
 
Регистрация: 21.07.2016
Сообщений: 23

Смена координаты блока в зависимости от положения курсора
Добрый день.
Есть div .galmenu { height: 400px; overflow: hidden; position: relative;}
В него вложен div.zoo-category-list {position: absolute; top: 0;} высотой гораздо больше.
Задача при перемещении курсора в пределах родительского блока смещать вложенный div вверх-вниз.
Вот такой скрипт:
<script>
jQuery(document).mousemove(function(e) {
var container = document.getElementByClassName(galmenu);
var offset = container.offset();
var relativeY = (e.pageY - offset.top);
jQuery(".zoo-category-list").css("top",(-relativeY + 400)+'px');
});
</script>
Естественно, не работает.
Знатоки, помогите
Ответить с цитированием
  #2 (permalink)  
Старый 21.07.2016, 20:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

310,
container список у вас, у списка нет никаких offset и вам нужно разницу высот блоков соотнести с высотой galmenu
Ответить с цитированием
  #3 (permalink)  
Старый 21.07.2016, 21:47
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

прокрутка большого блока в пределах маленького
310,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  div.galmenu { height: 400px; overflow: hidden; position: relative; width: 100%;  border: 2px solid #0000FF;}
  div.zoo-category-list {position: absolute; top: 0;  height: 700px;
  background-image: -webkit-gradient(linear, top, bottom, color-stop(0, #FF00FF), color-stop(1, #0060BF));
  background-image: -o-linear-gradient(top, #FF00FF, #0060BF);
  background-image: -moz-linear-gradient(top, #FF00FF, #0060BF);
  background-image: -webkit-linear-gradient(top, #FF00FF, #0060BF);
  background-image: linear-gradient(to bottom, #FF00FF, #0060BF);
  width: 100%;
  }
  .top{  color: #FFFFFF;
    width: 100%;
    position: absolute; top: 0;
    text-align: center;

  }
  .bottom {  color: #FFFFFF;
    width: 100%;
    position: absolute;
    text-align: center;
    bottom: 0;
  }

  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
    var parent = $("div.galmenu"),
        block = $("div.zoo-category-list"),
        top = parent.offset().top,
        parentHeight = parent.height() + 2,
        blockHeight = block.height(),
        ratio = (blockHeight - parentHeight) / parentHeight;
    $("body").on("mousemove", parent, function(event) {
        var blockTop = (event.pageY - top) * ratio;
        block.css({
            "top": "-" + blockTop + "px"
        })
    })
});
  </script>
</head>

<body>
<div class="galmenu">
     <div class="zoo-category-list"><div class="top">top</div><div class="bottom">bottom</div></div>
 </div></body>
</html>
Ответить с цитированием
  #4 (permalink)  
Старый 21.07.2016, 22:45
310 310 вне форума
Интересующийся
Отправить личное сообщение для 310 Посмотреть профиль Найти все сообщения от 310
 
Регистрация: 21.07.2016
Сообщений: 23

рони, огромное спасибо за ответ! То, что надо
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Смена класса одного блока при наведении курсора на другой serggrodno jQuery 2 20.01.2016 12:05
смена div блока при наведении курсора мыши Денис2201 Общие вопросы Javascript 3 07.10.2013 13:43
Получить координаты курсора в текстовом поле в пикселях prike Events/DOM/Window 4 23.05.2013 04:35
Смена картинок в зависимости от положения курсора мыши antonio_vrn Events/DOM/Window 3 31.05.2011 22:07
Смена положения курсора в текстовой строке trikadin Элементы интерфейса 4 12.11.2010 02:00