Skip to Content
Menu
This question has been flagged
2 Replies
2897 Views

​Scroll Event doesnt work in Odoo ??!!!


for example:

window.addEventListener('scroll',()=>{
let scrollTop = document.documentElement.scrollTop;
if(scrollTop > 100){
 
console.log('morther than 100px')


}else{


console.log('lower than 100px')

}
})

do you have solutions for me???

Avatar
Discard
Author

hi thanks a lot, but  my version odoo is 16...... this code is not working for me

Best Answer

​Hello,
you can try below code it will work in your case

const $mainwrap = document.querySelectorAll('#wrapwrap');
mainwrap.addEventListener('scroll',()=>{
​let scrollTop = document.documentElement.scrollTop;
​if(scrollTop > 100){
​console.log('morther than 100px')
​}else{​
​console.log('lower than 100px')

​}
})

Avatar
Discard
Best Answer

Hi

Try the following code,

odoo.define('your_module_name.your_widget_name', function (require) {
    "use strict";

    var Widget = require('web.Widget');

    var YourWidgetName = Widget.extend({
        start: function () {
            this.$el.on('scroll', this._onScroll.bind(this));
            return this._super();
        },

        _onScroll: function () {
            var scrollTop = this.$el.scrollTop();
            if (scrollTop > 100) {
                console.log('More than 100px');
            } else {
                console.log('Lower than 100px');
            }
        },
    });

Hope it helps

Avatar
Discard