# easy-elements/1.5.0/widgets/offcanvas/js/offcanvas.js

Easy Elements for Elementor – Addons &amp; Website Templates, version 1.5.0. 84 lines.

- Page: https://pluginprobe.com/plugins/easy-elements/1.5.0/code/widgets/offcanvas/js/offcanvas.js
- Raw: https://pluginprobe.com/plugins/easy-elements/1.5.0/raw/widgets/offcanvas/js/offcanvas.js
- Modified: 2026-06-17T10:35:02+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/easy-elements/1.5.0/code/widgets/offcanvas/js/offcanvas.js#L10-L20`.

```javascript
(function($){
    $(document).on('click', '.eel-offcanvas-toggle', function(e){
        e.stopPropagation();
        var target = $(this).data('target');
        var $offcanvas = $(target);
        if (!$offcanvas.data('initialized')) {
            $offcanvas.data('initialized', true);
            if (!$offcanvas.hasClass('modern')) {
                if ($offcanvas.hasClass('eel-offcanvas-left')) {
                    $offcanvas.css('transform', 'translateX(-100%)');
                } else {
                    $offcanvas.css('transform', 'translateX(100%)');
                }
            } else {
                $offcanvas.css({'visibility':'hidden','opacity':'0'});
            }
        }

        // toggle active
        if ($offcanvas.hasClass('active')) {
            $offcanvas.removeClass('active');
            $('body').removeClass('eel-offcanvas-active');
            
            if (!$offcanvas.hasClass('modern')) {
                if ($offcanvas.hasClass('eel-offcanvas-left')) {
                    $offcanvas.css('transform', 'translateX(-100%)');
                } else {
                    $offcanvas.css('transform', 'translateX(100%)');
                }
            } else {
                $offcanvas.css({'visibility':'hidden','opacity':'0'});
            }
        } else {
            $('.eel-offcanvas').each(function(){
                var $other = $(this);
                if ($other[0] !== $offcanvas[0]) {
                    $other.removeClass('active');
                    if (!$other.hasClass('modern')) {
                        if ($other.hasClass('eel-offcanvas-left')) {
                            $other.css('transform','translateX(-100%)');
                        } else {
                            $other.css('transform','translateX(100%)');
                        }
                    } else {
                        $other.css({'visibility':'hidden','opacity':'0'});
                    }
                }
            });

            $offcanvas.addClass('active');
            $('body').addClass('eel-offcanvas-active');

            if (!$offcanvas.hasClass('modern')) {
                $offcanvas.css('transform','translateX(0)');
            } else {
                $offcanvas.css({'visibility':'visible','opacity':'1'});
            }
        }
    });

    $(document).on('click', function(){
        var $active = $('.eel-offcanvas.active');
        if ($active.length) {
            $active.removeClass('active');
            $('body').removeClass('eel-offcanvas-active');

            if (!$active.hasClass('modern')) {
                if ($active.hasClass('eel-offcanvas-left')) {
                    $active.css('transform','translateX(-100%)');
                } else {
                    $active.css('transform','translateX(100%)');
                }
            } else {
                $active.css({'visibility':'hidden','opacity':'0'});
            }
        }
    });

    $(document).on('click', '.eel-offcanvas', function(e){
        e.stopPropagation();
    });

})(jQuery);

```
