Создайте пользовательскую функцию, которая возвращает новую функцию с желаемыми настройками.Это самый лучший способ достичь этого результата.
Другой метод - использовать переменную для запоминания текущего состояния (см. Метод 2):
Метод 1: Вспомогательная функция
function universalWay(multiplier){
return function(){
var $this = $(this),
height = $this.height(),
$slideHide = $this.find('.slide_hide');
$slideHide.stop()
.animate({marginTop: multiplier * height + 'px'}, 400);
};
}
$('.slide_back').hover(
universalWay(1),
universalWay(0.5) // 1/2 = 0.5
);
Метод 2: Использование переменной
var multiplier = 1
function universalWay(){
multiplier = multipler == 1 ? 0.5 : 1; //Switch between 1 and 0.5
var $this = $(this),
height = $this.height(),
$slideHide = $this.find('.slide_hide');
$slideHide.stop()
.animate({marginTop: multiplier * height + 'px'}, 400);
}
$('.slide_back').hover(
universalWay,
universalWay
);