Giter Site home page Giter Site logo

Comments (6)

thomashandorf avatar thomashandorf commented on June 15, 2024

@irae thanks for reporting. Do you know how to reproduce this. Can't see it on my safari. Which version are you using? could be a relapse of #54

from layerjs.

irae avatar irae commented on June 15, 2024

Safari Version 11.1 (13605.1.33.1.4)

I have content blockers, if it makes any sense to mention. The one I use is called "Better". Except for that I don't have anything in special.

The way I reproduce every time:

  1. enter page, scroll down
  2. hit play on the "video" or animation, the one that shows a 3d view of layers. I think video/animation still playing when I scroll.
  3. Scroll up kinda fast, my mouse is one of those with an actual scroll wheel, so I don't have the smooth ease in and out the apple mouse or trackpad does.

Just got a different version of the bug:
screen shot 2018-05-11 at 4 44 24 pm

I did my own scrolling/layering library in the past, so if I had to guess I would say you might be doing some delta bookkeeping somewhere and if some event drops you can't get the math right. It is either Safari trying to be smart and make my scroll smooth, or you tested with smooth and mine has none.

from layerjs.

thomashandorf avatar thomashandorf commented on June 15, 2024

found the problem. A secondary script on the landing page did set a transition property on the frame. This is a problem for layerJS during a transition as it will not receive the transitionEnd event. This is now fixed on the landing page but the issue will remain open until there is a way to catch missing transitionEnd event by a fallback timer.

from layerjs.

irae avatar irae commented on June 15, 2024

Is this by spec? Or should the transitionEnd be accessible by layerJS? If this is not by spec and happening only on Safari, you could totally file a bug on webkit. If this is on all browsers, well, then it's a layerJS problem, I guess?

My 5¢: I remember not being able to rely on trnsitionEnd when I was trying to fix ReactTransitionGroup back in 2014 or so. It is quite a finicky API. Did you try to bind transitionEnd on the capture phase on the document? I wouldn't interact with the event at this stage (specially because since developers rarely rely on capture phase it makes it quite uneven across browsers), but you might be able get read only reliable information. But at least you could set up your own cleanup timer.

Also, maybe file another bug with more technical details and close this? Might be more organized, since now it is not related to the homepage anymore.

from layerjs.

thomashandorf avatar thomashandorf commented on June 15, 2024

it suppose it's rather a bug in the spec. When something is setting the transition of the transform while the transition is ongoing, the transition is stopped immediately and no transitionEnd will fire. There is a transitionCancel but that seems to be implemented only by Mozilla. I haven't played with the capture phase here, but i think that the event is just not fired at all in this case.

This wasn't a Safari only issue. i was able to reproduce it on chrome as well.

from layerjs.

kennytordeur avatar kennytordeur commented on June 15, 2024

This got fixed in 0ba9345

from layerjs.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.