Попробуйте что-то вроде этого:
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
#tempc {
background-color: #FFFF00;
width: 50px;
height: 50px;
}
</style>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
</head>
<body>
<div id="tempc">
Hello!
</div>
<script type="text/javascript">
$().ready(function(){
$('#tempc').toggle(
function(){
$(this).animate({width: 255, height: 300}, 1000, 'linear')
},
function () {
$(this).animate({width: 50}, 1000, 'linear')
}
);
});
</script>
</body>
</html>
Обработчик onclick
был удален из div
, поскольку он не нужен при использовании jQuery.
Кроме того, экземпляры $('#tempc')
в обратных вызовах были изменены на $(this)
. Это «правильный» способ ведения дел, и я считаю, что он более эффективен для движка Javascript (поправьте меня, если я ошибаюсь!).
Кроме того, вы пытались использовать функцию "easeInOutQuad"
в качестве функции замедления. Согласно документам jQuery, поддерживаются только встроенные функции swing
и linear
:
Облегчение :
Оставшийся параметр .animate ()
строка, называющая функцию замедления
использовать. Функция замедления определяет
скорость, с которой анимация
прогрессирует в разных точках в
анимация. Единственное смягчение
реализации в библиотеке jQuery
по умолчанию, называется качели, и один
что прогрессирует в постоянном темпе,
называется линейным. Больше функций ослабления
доступны с использованием
плагины, в первую очередь пользовательский интерфейс jQuery
люкс.
Для получения дополнительной информации см. Документацию jQuery: jQuery Animate ()