Я пытаюсь создать элемент shake, вот код, с jquery library 'jquery.transit'.Каков наилучший способ остановить рекурсивный обратный вызов?
var s = $('myele');
var randomTran = function(){
var rh = Math.floor((Math.random() * 10) - 5),
rv = Math.floor((Math.random() * 10) - 5);
s.transit({x:rh,y:rv},50,randomTran)
}
Проблема заключается элемент будет трясти постоянно, мне нужно поставить какой-то знак остановки рекуррентного обратного вызова. Я могу подумать о том, чтобы установить переменную вне функции в качестве флага.
var s = $('myele');
var flag = 0;
var randomTran = function(){
if (flag<6) {
var rh = Math.floor((Math.random() * 10) - 5),
rv = Math.floor((Math.random() * 10) - 5);
s.transit({x:rh,y:rv},50,randomTran)
};
flag++;
}
Но с этим я чувствую запах глобальной переменной. Итак, вопрос 1 - лучший способ сделать это? Вопрос 2: Есть ли какой-либо плагин, способный встряхнуть элемент?
Вы правы, используя количество дротиков слева как параметр - лучшее решение. – Cristy
Спасибо! Является ли 'flag || = 0?' Опечаткой? И ваш ответ указывает на то, что я назвал элемент, поскольку переменная '' 'не является хорошей практикой, если да, что мне делать? – shenkwen
Извините, что trailing '?' Должен был быть ';' – Dancrumb