2013-11-07 2 views
0
$('.box').hover(function() { 
    $(this).stop().animate({ 
     width: '200px', 
     height: '200px', 
     top: '-70px' 
    }, 500), 
    function() { 
     $(this).stop().animate({ 
      width: '30px', 
      height: '30px', 
      top: '0' 
     }); 
    }; 
}); 

В этом случае, когда наведите указатель мыши на окно, чтобы вывести его обратно ... Но живой звонок не работает. Где я ошибаюсь?Как оживить функцию обратной связи

ответ

0

Попробуйте

$('.box').hover(function() { 
    $(this).stop().animate({ 
     width: '200px', 
     height: '200px', 
     top: '-70px', 
     done: function() { //A function to be called when the animation completes 
      $(this).stop().animate({ 
       width: '30px', 
       height: '30px', 
       top: '0' 
      }); 
     }; 
    }, 500); 
}); 

Read .animate()

1

Я думаю, что вы хотите, как это, просто изменить работу для него.

Js

$('.box').hover(
    function() { 
    $(this).stop().animate({ 
     width: '200px', 
     height: '200px', 
     top: '-70px' 
    }, 500); 
    }, 

    function() { 
     $(this).stop().animate({ 
      width: '30px', 
      height: '30px', 
      top: '0' 
     }); 
}); 

Fiddle Here

1

Попробуйте

$('.box').hover(  
    function() { 
    $(this).stop().animate({ 
     width: '200px', 
     height: '200px', 
     top: '-70px' 
    }, 500); 
    }, 

    function() { 
     $(this).stop().animate({ 
      width: '30px', 
      height: '30px', 
      top: '0' 
     }); 
}); 

Fiddle http://jsfiddle.net/code_snips/8pDqt/

0

Чтобы ответить на ваш вопрос ", где я не прав": Вы просто неуместны a }.

Ваш код должен быть:

$('.box').hover(
    function() { 
     $(this).stop().animate({ 
      width: '200px', 
      height: '200px', 
      top: '-70px' 
     }, 500); 
    }, 
    function() { 
     $(this).stop().animate({ 
      width: '30px', 
      height: '30px', 
      top: '0' 
     }); 
    } 
); 

Вы пытались вложить одну функцию внутри другой. Это не так, как синтаксис hover. Две функции для enter и leave должны быть разделены запятой и не перекрываться.

} от вашей последней линии перемещается вверх до начала второго запуска function(). Это работает, когда я пытаюсь. И это была единственная ошибка.

Смежные вопросы