За последние 24 часа нас посетили 17912 программистов и 1719 роботов. Сейчас ищут 908 программистов ...

Задержка hover

Тема в разделе "JavaScript и AJAX", создана пользователем D0Gmatist, 18 май 2013.

  1. D0Gmatist

    D0Gmatist Активный пользователь

    С нами с:
    3 июн 2012
    Сообщения:
    60
    Симпатии:
    0
    Всем доброго времени...

    Помогите с скриптом

    Код (Text):
    1.  $(function() {
    2.   var state = true;
    3.   $( ".Mini-Post" ).hover(function() {
    4.    if ( state ) {
    5.     $( ".Mini-Post-Zom" ).animate({
    6.      height: 196,
    7.      opacity: 1
    8.     }, 500 );
    9.    } else {
    10.     $( ".Mini-Post-Zom" ).animate({
    11.      height: 0,
    12.      opacity: 0
    13.     }, 500 );
    14.    }
    15.   state = !state;
    16.   });
    17.  });
    Можно кок нибудь сделать так что бы данный скрипт выполнялся с садержкой
     
  2. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Можно. Например метод .delay() или же стандартныая функция setTimeout(). Всё зависит от поставленных задач
     
  3. D0Gmatist

    D0Gmatist Активный пользователь

    С нами с:
    3 июн 2012
    Сообщения:
    60
    Симпатии:
    0
    А можно Вас по просить, расписать в примере.
    Я не силён в JS
     
  4. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Там особенно расписывать нечего. .delay(n) , где n - это время задержки в миллисекундах

    Код (Text):
    1. // ...
    2. $( ".Mini-Post-Zom" ).delay(500).animate({
    3. // ...
     
  5. D0Gmatist

    D0Gmatist Активный пользователь

    С нами с:
    3 июн 2012
    Сообщения:
    60
    Симпатии:
    0
    Спасибо огромное то что надо ...
    А можно ещё вопрос...
    можно ли заменить hover
    $( ".Mini-Post" ).hover(function() {
    на mouse (или на какой то клас или как то по другому) (ну что бы это выполнялось только когда мышка наведена на этот класс) ну и соответственно если мышка вышла из класса то отмена выполнения функции
     
  6. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    И это можно. Более того, в некоторых случаях, даже предпочтительнее вместо .hover(), пользоваться методами .mouseenter() и .mouseleave(). Хотя, по сути, hover() объединяет в себе эти два метода.

    Код (Text):
    1. $('selector').hover(
    2.     function(){
    3.         // over
    4.     },
    5.     function(){
    6.         // out
    7.     }
    8. );
     
  7. D0Gmatist

    D0Gmatist Активный пользователь

    С нами с:
    3 июн 2012
    Сообщения:
    60
    Симпатии:
    0
    И опять же .. а можно на примере =) .. мне так проще сообразность ... когда пример увижу, на всегда в голове оседает =)

    Добавлено спустя 26 минут 28 секунд:
    Не могу сообразность как этим воспользоваться

    Добавлено спустя 26 минут 49 секунд:
    Сделал так
    Код (Text):
    1.     var i = 0;
    2.     $("div.overout").mouseenter(function(){
    3.       $(".Mini-Post-Zom",this).delay(500).animate({
    4.      height: 196,
    5.      opacity: 1
    6.     }, 500 );
    7.     }).mouseleave(function(){
    8.       $(".Mini-Post-Zom",this).delay(500).animate({
    9.      height: 0,
    10.      opacity: 1
    11.     }, 500 );
    12.     });
    Итог тот же .. только мне надо не это .. а надо что бы функция выполнялась только тогда если я мушку навёл и не выважу из окна .. ато у меня будет таких окон много и если мышкой провести мимо то они в итоге все выполнят анимацию .. а это смотрится по дибильному

    http://jsfiddle.net/D0Gmatist/C6722/
     
  8. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Не ленитесь заглядывать в документацию. Там всё описано и примеры так же присутствуют.
    Набросал вам примерчик, но в следующий раз, старайтесь не задавать вопросы, ответы которых лежат на поверхности. Лень в любом деле - не есть гуд.