два возможных решения для этого:
А) создать флаг (2 способа сделать это)
Б) создать пользовательское событие
A-создать флаг
1-вы можете использовать .attr()
, чтобы добавить флаг
$('.element').stop().attr('stopped','')
//to check use :
if($('.element').is('[stopped]'))
2 - если вы не хотите задействовать какой-либо атрибут или изменяющуюся структуру DOM
Вы можете прикрепить молчаливый флаг.
используя .data()
для хранения произвольных данных:
$(".element").stop().data('stopped',true);
затем извлеките его для проверки
if($(".element").data('stopped')) /** (1) **/
что касается плагина (как вы упомянули здесь )
да, мы можем создать один из них:
// Stop() with a capital S, don't have to remind you jQuery is case sensitive
$.fn.Stop = function() {
this.stop().data('stopped', true)
return this
} // check the same way as i mentioned in (1)
B-создать пользовательское событие
если вы не хотите флаг какого-либо типа или чего-либо еще
Вы можете создать пользовательское событие, так как «стоп» не один
Документация по созданию пользовательских событий
$('*').on('stop', function() {
$(this).stop()
//any other Statements you want
//in this case you may need to change the selector
//to match only '.element'
})
событие затем запускается с помощью .trigger()
:
$('.element').trigger('stop')