Comments (3)
Hello @markadrake, thanks for the compliment! And sorry for the response time, I just relocated to another country and was completely off from Github for a time.
Your first change is pretty major, but it looks nice and makes a lot of sense in some contexts. I'll certainly add it in the release version.
Regarding your second change, I'm not sure if that would make much sense in the current implementation. Take this line of code as example:
const isScreenPastSection = window.pageYOffset >= this.getOffsetTop(target) - this.offset;
You can see that the offset is used as a value only, and it needs to be in px
because that's the unit I'm dealing with when getting window.pageYOffset
and this.getOffsetTop()
values. If it was in percentage, would it be relative to what? And how would I be able to calculate the value to offset if it was in em
or rem
?
I think you should probably calculate this before setting the value, so you can make your own breaking points and change the value as you want. Maybe we can think of a responsive option too, but I'm not sure how that would work, tell me if you have any ideas on that.
And finally about the bug you described, it's not happening in my browser, which browser were you testing it? Maybe it's a browser related bug since I click the Six and it works perfectly. But regarding your implementation on your site, try to make sure you don't have any margin between the sections because that messes with the offset and usually leads to undesired behavior. If you need spacing between the sections then just use a padding, not margin.
Feel free to ask anything and to give feedback on new features as you did, it helps a lot since I basically always use this plugin in a very simple way, and sometimes people need features that I would never think about.
Thanks again!
from vue-scrollactive.
The offset works perfectly for making the next section link active earlier. The bit that makes it not usable is when you click a link, it scrolls to the element including the offset.
Would it be simpler to split the offset in to two separate offsets.
A 'scroll to offset' that is used when you click a link. Leaving an offset above the element.
And..
A 'active trigger offset' that will offset the distance above an element which will trigger its link to be active.
from vue-scrollactive.
Hello guys, I've recently added a new prop called scrollOffset
to control the offset when clicking to scroll, this way you can now use offset
to control when the element will be active while scrolling and scrollOffset
to set offset when clicking to scroll.
Regarding the described bug, as I've said I couldn't reproduce it in my environment, but feel free to open the issue again if needed, I'll be happy to help :)
from vue-scrollactive.
Related Issues (20)
- scrollContainerSelector not working as expected HOT 1
- Throws Document Query Selector error if hash starts with Number and the webpage is hard refreshed with such hash in URL HOT 1
- transform: translate(200px, 1000px);
- this.scrollContainerSelector is undefined HOT 1
- vue-scrollactive inside a viutify dialog doesn't work HOT 4
- Have a question HOT 1
- dist/vue-scrollactive.min.js is stuck on old release
- Different offset for different elements HOT 1
- Active class applied on page load
- Previous / next functionality
- data-section-selector does not work HOT 7
- Local Import Get Error HOT 2
- TypeError: Cannot read property 'substr' of undefined HOT 2
- how to prevent replacing the URL with tag HOT 2
- Scroll itemChange event only fired once
- How to realize horizontal scroll active tab position always visible? HOT 1
- Links do not have a discernible name HOT 1
- specifying scrollContainerSelector causes scroll to jump back to the top HOT 1
- Vue 3? HOT 4
- Stops working if container it scrolled to the top HOT 3
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 vue-scrollactive.