Comments (6)
Ah alright i see, yeah the bindElement
is used when you want to trigger classes inside a scrolling div.
For example (untested code);
<div class="wrap">
<div data-scroll></div>
<div data-scroll></div>
<div data-scroll></div>
</div>
.wrap {
height: 500px;
overflow-y: scroll;
}
.wrap div[data-scroll] {
height: 300px;
width: 100%;
background: red;
}
var wrapper = document.querySelector('.wrap');
/**
* First parameter = options
* Second parameter = bindElement (where to fetch the [data-scroll] elements from)
* Last parameter = the element to listen for `scroll` event, so the custom wrapper
*/
new ScrollTrigger({}, document.body, wrapper);
It then adds the scroll
listener to the .wrap
div, and checks the scrollTop
from .wrap
. In most cases you'd leave bindElement
alone.
from scrolltrigger.
What version of safari are you using?
from scrolltrigger.
@terwanerik version 12. I should make it clear: in Safari, it has document.documentElement.scrollTop/Left
property, however its value is always 0
, this is what I mean of saying "not working".
from scrolltrigger.
Alright, the thing is; it checks if a bindElement
is given, which standards to body
. document.body.scrollTop/Left works perfectly in Safari, so that line should not be called on Safari. Is there a minimal, complete and verifiable example where it isn't working?
from scrolltrigger.
@terwanerik Alright, I think I know what's going on. I didn't write the original code, it was written by one of my colleagues. After read your comment, I checked the source code where ScrollTrigger
has initialized, then I realized he use a specific node instead of window
as the bindElement
.
As a result, this node's scrollTop
is always 0
, so this clause will return document.documentElement.scrollTop
which "not working" in Safari as I described at the beginning.
Now my question becomes: is it allowed to passing arbitrary element instead of window
as bindElement
?
P.S. I don't know why he did that, but I'd prefer to not change his original code first.
from scrolltrigger.
@terwanerik Ah, that makes sense now. Thank you!
from scrolltrigger.
Related Issues (20)
- typescript support
- critical vulnerabilities in object-extend dependancy HOT 1
- IOS Safari is not smooth
- horizontal scroll not working<eom> HOT 3
- Elements slightly out of window not firing HOT 5
- Elements with negative offset invisible on first load if at top of viewport HOT 2
- mobile views HOT 2
- ScrollTrigger - callback not woking if element is already shown! HOT 9
- The visibility check on Microsoft Edge is always true HOT 1
- scroll does not into correct position HOT 1
- overflow-y: scroll multi browser issues (doesn't show\animate) HOT 1
- Responsive offset HOT 1
- Halt autoplay interval when carousel isnβt within the viewport HOT 1
- Add settings inline with [data-trigger]? HOT 1
- Bootstrap compatibility HOT 2
- explorer error HOT 3
- Can an on-screen element trigger an off-screen element? HOT 2
- Triggers not firing with css scroll-snap
- Locomotivescroll
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 scrolltrigger.