Comments (8)
I am also experiencing this issue and agree with the assessment from @skosito . Here's a cheap workaround that I use just before calling destroy():
if (!myHeadroom.scrollTracker) {
myHeadroom.scrollTracker = {
destroy: function() {}
};
}
myHeadroom.destroy();
from headroom.js.
Up!
from headroom.js.
Hey @WickyNilliams, i have the same issue, the reason is scrollTracker is initialized inside setTimeout, and destroy can be called before that. It seems you had this same issue before and you fixed it, but now it is reintroduced again.
I am referring to this: #338
Could you please take a look? Thanks!
EDIT: It seems like there is a fix ready for this kind of situation here :) #339
Maybe you can merge this, it would be really helpful.
from headroom.js.
faced the same issue. I wanted to disable Headroom on some specific pages and getting error while tried to use the destroy. Can you suggest any solution to disable it by checking some conditions?
from headroom.js.
Facing the same issue while integrating the vanilla JS version in a React app -- race condition triggered while running the React Testing Library / Jest tests.
from headroom.js.
Hmm... I would not use the jquery plugin if you can avoid it - it's not been updated in a long time and i will eventually deprecate/delete it completely. Try the vanilla JS version, and see if that fixes.
from headroom.js.
I used
Hmm... I would not use the jquery plugin if you can avoid it - it's not been updated in a long time and i will eventually deprecate/delete it completely. Try the vanilla JS version, and see if that fixes.
I used vanilla js and have same problem. Look, I use simple code from your example, if and outpute in console object.
var headroom = new Headroom( this.$element.get( 0 ), options );
console.log(headroom);
headroom.init();
console.log(headroom);
// setTimeout(() => { headroom.destroy(); }, 5000);
headroom.destroy();
console.log(headroom);
If I dont use setTimeout, I have error:
headroom.min.js?ver=0.11.0:7 Uncaught TypeError: Cannot read property 'destroy' of undefined
If I use with timeout, its ok.
from headroom.js.
For me it worked if I used the function on the child ref, scrollTracker, like this in React:
useEffect(() => {
const headroom = new Headroom(headroomRef.current, {
classes: {
// when element is initialised
initial: 'transition-transform ease-linear',
// when scrolling down
unpinned: '-translate-y-full',
},
});
headroom.init();
return () => {
if (headroom && headroom.scrollTracker) {
headroom.scrollTracker.destroy();
}
};
}, []);
from headroom.js.
Related Issues (20)
- Breaking change with no class in quotations HOT 7
- --pinned and --unpinned is not added in latest release(s) HOT 3
- How set up offset dynamically? HOT 6
- npm warns of 8 vulnerabilities when installing HOT 3
- Header is not pinned, only shows up when scrolled to top HOT 1
- Missing Coma in default options
- Glitch/Bump on Scroll
- Add support for 'rem' units instead of 'px' HOT 1
- v0.11 not working on IE11 HOT 6
- pin/unpin not working on iOS HOT 1
- Nothing happen on Chrome HOT 5
- Using separate up/down offset values introduced a bug with the top and notTop classes behaviour
- Consider allowing freezing pin state without freezing top/not top changes
- Chrome warning about navigator.userAgent, navigator.appVersion, and navigator.platform HOT 1
- Headroom.js together with Locomotive Scroll HOT 2
- UI Components
- Second menu HOT 1
- stops working with Gtranslate plugin from Wordpress Inspiro theme because height is set to 100% for <html> element HOT 1
- Blurry in pinned state 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 headroom.js.