Comments (6)
@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.
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:
- enter page, scroll down
- 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.
- 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:
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.
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.
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.
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.
This got fixed in 0ba9345
from layerjs.
Related Issues (20)
- size is not adapted during transition
- scrolltransformer scroll event listeners registered multiple times?
- unhandled hash routes -> sets window.location.href
- enlarging frame is not detected (and scroll end is incorrect) HOT 1
- accessive number of lj-active classes added to active frame
- right swipe not working
- no-url option doesn’t seem to work for !none frame
- double loading of layers makes trouble
- scrollTo label does not work if label is not in current frame
- exception on special frame !right if neighbours.r not given
- back button problem in hashrouter HOT 1
- no-url state changes go into history
- Track touch for swipe/pan gestures HOT 1
- Anchor tag attribute target="{my value}" seems to be ignored HOT 4
- Adapt page title when using filerouter HOT 1
- linking to anchors from external does not work
- lj-auto-height is set in stage, and the height of stage does not change automatically. HOT 1
- Layer JS site certificate is expired and other issues HOT 2
- CDN cert date invalid
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from layerjs.