angular-ui / bootstrap

PLEASE READ THE PROJECT STATUS BELOW. Native AngularJS (Angular) directives for Bootstrap. Smaller footprint (20kB gzipped), no 3rd party JS dependencies (jQuery, bootstrap JS) required. Please read the README.md file before submitting an issue!
http://angular-ui.github.io/bootstrap/
MIT License
14.28k stars 6.73k forks source link

Unexpected Behavior of Carousel Arrow Navigation #5883

Open bhildeb opened 8 years ago

bhildeb commented 8 years ago

Bug description:

When user navigates multiple times to the right and then clicks the left arrow one time, carousel slides right instead of left. Same thing in the opposite direction: When user navigates multiple times to the left and then clicks the right arrow one time, carousel slides left instead of right.

Link to minimally-working plunker that reproduces the issue:

to reproduce defect:

(1) go to: https://angular-ui.github.io/bootstrap/#/carousel (2) click "add slide" 5 times (this is just to give you a sufficient amount of images to work with so you could add more than just 5). (3) click right arrow three times to navigate through 3 images. (4) click left arrow (expected behavior is for the image to slide to the left but it actually slides to the right one time).

Same thing happens when you click left arrow 3 times and then click the right.

Version of Angular, UIBS, and Bootstrap

Angular: 1.5.3 UIBS: 1.3.2 Bootstrap: 3.3.6

icfantv commented 8 years ago

I'm not exactly sure what's going on here in that whether there's an issue w/ ngAnimate. If you go slowly, the bug is not reproducible. But if you click fast, it does. I'm wondering if we should disabled the navigation buttons while the animation is going on? @wesleycho, what do you think? That could have some negative UX.

wesleycho commented 8 years ago

I don't think we should disable the navigation buttons when the animation is going on.

This sounds like a bug with our mechanism for setting the slide direction on the DOM for reading in the animation.

wesleycho commented 8 years ago

It has only been two weeks - please don't ping us like this, we're busy people who do this on our free time. I have been especially busy the past 2-3 months myself - the best way to have an issue done is to figure out the exact problem point and come up with an optimal solution. Otherwise, patience must be exercised.

iGadget73 commented 8 years ago

Y'ello! I can confirm that "bug". I also have a UI range slider within my carousel and if you click too fast on the navigation, it slides when i touch the range slider even tho the interval is set to "none" || 0. Seems that the script somehow buffers the event and fires it either all by itself or on "any" other fired event. Also does the same on an image carousel without any other scripted elements within. Is there a buffer at all?!