Comments (8)
Hi @adam12, thanks for the video.
I'm afraid I cannot reproduce the flickering modal in this minimal example: http://unpoly.com/examples/modal/preview.html
Are you sure that no other CSS or inline style
attributes are present?
Could you provide two minimal HTML files that expose this issue?
from unpoly.
Thanks for the response. Indeed, it doesn't occur on that example for me either.
Are you sure that no other CSS or inline style attributes are present?
It occurred without any other CSS on the page.
Could you provide two minimal HTML files that expose this issue?
I will see if I can do this. It could be my app specific (but I don't think it is, TBH).
Due to the random nature of it (usually the first few clicks, and then random afterwards), it's been a bit hard to debug, but I have found that adding the up-animation="none"
property to the selector, the flicker never happens.
Alternatively, adding an up-animation="move-from-top"
or similar animation, the issue is even more pronounced.
What I suspect is happening is some sort of styling occurring out of order - the backdrop appearing without animations, then disappearing/reappearing with the specific animation.
from unpoly.
If you manage to attach a minimal use case to this issue, please also let me know your browser and OS.
How I would debug this further: Choose a really long duration of the opening animation (e.g. using up-delay="6000"
, then use the browser inspector to see if anything looks funny during the animation.
from unpoly.
Choose a really long duration of the opening animation (e.g. using up-delay="6000"
That helped - I saw the modal immediately open and then close, and after the delay, it opened normally.
please also let me know your browser and OS
Chrome on macOS, but I can reproduce it with Safari on macOS as well.
from unpoly.
I think what happens is that the modal enters the DOM and is visible for one frame before the animation (fading in from opacity 0 to 1) begins.
The issue might be between these two lines:
We're using promises to chain "server response has been received" and "start animating". However, a browser might insert a rendered frame between those two actions because of reasons.
from unpoly.
I think you're right.
I'm able to prevent the flicker with the following CSS, but I don't care for it and I am not sure if all the animations use an opacity
style attribute, or just the default.
.up-modal > * {
opacity: 0;
}
Would it make sense for the createFrame
function to hide the modal by default (with an inline style maybe?)?
from unpoly.
Unfortunately I cannot reproduce this issue on my machines, even when I provoke timeout clamping.
I went ahead and implemented your idea of hiding the modal before starting the opening animation. Could you please check if the issue is solved in version 0.34.2?
from unpoly.
I went ahead and implemented your idea of hiding the modal before starting the opening animation. Could you please check if the issue is solved in version 0.34.2?
Fix worked! Thanks.
from unpoly.
Related Issues (20)
- nested up-hungry removes inner hungry elements HOT 1
- per page css
- Hide focus ring when following an [up-instant] link HOT 1
- Please support `up.reload(":none")` HOT 3
- Respect unpoly attributes on form submitters HOT 2
- snipcart with unpoly HOT 2
- Incorrect docs: Event target for 'up:form:submit' is not always the form HOT 5
- Is up-disable broken? HOT 2
- JS error when using up-submit: Uncaught up.Error: up.on(): The "up:click" callback function executeEmitAttr; EDIT: Putting the script in the end of body breaks the js HOT 2
- `up.animate` does not respect `duration: 0`
- Question: Async code in 'up:form:submit' possible race condition? HOT 2
- no transition with tailwindcss
- Web Component form field dropped by up-submit HOT 2
- Can unpoly exchange HTML fragments through WebSockets?
- Look at explicit port for cross-origin detection HOT 1
- Successfully submitting a form within a layer with the param up-layer='root' closes the layer with up:layer:dismiss and not up:layer:accept event HOT 1
- Watching fields requires multiple-values checkboxes to have a `[]` name suffix HOT 6
- Handle links with anchors that start with a number HOT 1
- Handle links with anchors that start with a number HOT 1
- Browser does not loose it's zoom state between page navigations on smartphones HOT 1
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 unpoly.