{"record":{"id":"ceeef8244401a2f9","repo":"Semantic-Org/Semantic-UI","slug":"that-animation-is-already-occurring-cancelling-re","errorCode":null,"errorMessage":"That animation is already occurring, cancelling repeated animation","messagePattern":"That animation is already occurring, cancelling repeated animation","errorType":"console","errorClass":null,"httpStatus":null,"severity":"info","filePath":"src/definitions/modules/transition.js","lineNumber":1087,"sourceCode":"    displayType: 'display'\n  },\n\n  className   : {\n    animating  : 'animating',\n    disabled   : 'disabled',\n    hidden     : 'hidden',\n    inward     : 'in',\n    loading    : 'loading',\n    looping    : 'looping',\n    outward    : 'out',\n    transition : 'transition',\n    visible    : 'visible'\n  },\n\n  // possible errors\n  error: {\n    noAnimation : 'Element is no longer attached to DOM. Unable to animate.  Use silent setting to surpress this warning in production.',\n    repeated    : 'That animation is already occurring, cancelling repeated animation',\n    method      : 'The method you called is not defined',\n    support     : 'This browser does not support CSS animations'\n  }\n\n};\n\n\n})( jQuery, window, document );\n","sourceCodeStart":1069,"sourceCodeEnd":1096,"githubUrl":"https://github.com/Semantic-Org/Semantic-UI/blob/597843ab84d565cccfd8fd7719416350ae73e734/src/definitions/modules/transition.js#L1069-L1096","documentation":"The string is defined under error.repeated, but in this version it is never actually emitted. The guard at transition.js:185-187 only calls module.debug('Animation is already occurring...') and returns false — module.error(error.repeated) is never invoked. So the real runtime behavior when allowRepeats is false (default) and the same animation is already running is a silent debug log plus an early return; the error string is dead config.","triggerScenarios":"Triggering the same animation twice in rapid succession with allowRepeats:false (default) and queue:false. With debug+verbose on you see the debug log at transition.js:186, not this error.","commonSituations":"Double-clicking a toggle that transitions, rapid show/hide toggling, button spam.","solutions":["Set allowRepeats:true if you want the second trigger to run anyway.","Set queue:true so the second invocation queues behind the first instead of being dropped.","Debounce/throttle the triggering event (e.g. button click).","Enable debug:true and verbose:true to observe the debug-level message that actually fires."],"exampleFix":"// before\n$('#btn').on('click', () => $('#box').transition('fade')); // rapid clicks dropped\n// after\n$('#box').transition({ animation: 'fade', allowRepeats: true });","handlingStrategy":"validation","validationCode":"// Decide up-front whether repeats should queue or run, instead of relying on the drop.\nvar $box = $('#box');\n$('#btn').on('click', function(){\n  $box.transition({ animation: 'fade', allowRepeats: true, queue: false });\n});\n// Debounce to avoid stacking clicks:\n$('#btn2').on('click', $.debounce ? $.debounce(150, toggle) : toggle);","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Note this exact string is never emitted in this version (transition.js:186 logs at debug level) — do not chase it.","Use allowRepeats:true when re-triggering the same animation is intended.","Use queue:true when you want the second invocation to wait rather than be dropped."],"tags":["transition","animation","dead-code"],"backgroundTag":null,"analyzedSha":"597843ab84d565cccfd8fd7719416350ae73e734","analyzedAt":"2026-08-13T01:44:23.827Z","schemaVersion":2},"datasetVersion":"2026-08-13T04:17:16.726Z"}