Стремясь стать лучше в AngularJS - я начал создавать некоторые компоненты многократного использования.Компонент, над которым я сейчас работаю, это слайдер / вращение изображения.Я создал jsfiddle, чтобы воспроизвести проблему, с которой я сталкиваюсь.
Пример слайдера изображений
Я использую animationend
для захвата после перехода изображений.
Если вы откроете консоль и затем щелкнитена стрелках «следующий» или «предыдущий» изображение будет переходить в следующий, а затем в консоли появится текст «в конце анимации» (вам придется подождать, пока анимация не закончится, чтобы щелкнуть снова).Если вы продолжите нажимать примерно 16 раз, анимация начнет работать все медленнее и медленнее и станет практически непригодной для использования примерно 18 раз (я использую Chrome).Я попытался сделать снимки памяти, чтобы увидеть, что происходит - или даже добавил «разрывы» в код, чтобы попытаться пройтись, чтобы увидеть, не является ли что-то необычным, но еще не нашел ничего, что выделяется.
Если я уберу анимацию css и просто переключусь между изображениями без какого-либо перехода, то ползунок будет работать нормально - но что хорошего в слайдере изображений без причудливого перехода?