Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • B bootstrap
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 263
    • Issues 263
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 114
    • Merge requests 114
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Bootstrap
  • bootstrap
  • Issues
  • #5462
Closed
Open
Issue created Oct 09, 2012 by Administrator@rootContributor

bootstrap-collapse.js shouldn't rely only on transition end event

Created by: victor-homyakov

Currently methods Collapse#show(), Collapse#hide(), Collapse#transition() rely only on transition end event, and will have broken inner state and stop work if such event wasn't fired for some reason:

  1. Element has method hide(), which actually hides element, thus preventing transition (http://api.prototypejs.org/dom/Element/prototype/hide/).
  2. Transition is aborted because the animating property's value is changed before the transition is completed (https://developer.mozilla.org/en-US/docs/CSS/Using_CSS_transitions#Detecting_the_completion_of_a_transition).
  3. Browser vendor changes transition end event name/event system, as it already was with Opera (http://www.ianlunn.co.uk/blog/articles/opera-12-otransitionend-bugs-and-workarounds/).

(for more info please read my answer to http://stackoverflow.com/questions/12715254/twitter-bootstrap-transition-conflict-prototypejs)

Invokation of callback complete() in Collapse#transition() should be guaranteed even if transition event wasn't fired, e.g. via setTimeout().

Assignee
Assign to
Time tracking