Skip to Content
Menu

reflow()

Manually reflow an element.

JavaScript February 7, 2021

Usage

JavaScript
nebula.reflow(selector)

Parameters

selector
(Required) (Object or String) The element to reflow
Default: None

Parameter Notes

Can be passed as a jQuery object or just a selector.

Request or provide clarification »

Examples

Reflow an element so it can be animated via adding a class.

JavaScript
var element = jQuery('#example');
element.removeClass('animate');
nebula.reflow(element);
element.addClass('animate');

Additional Notes

This function is helpful for repeating an animation on the same element.

Was this page helpful? Yes No


    A feedback message is required to submit this form.


    Please check that you have entered a valid email address.

    Enter your email address if you would like a response.

    Thank you for your feedback!

    Source File

    Located in /assets/js/modules/utilities.js on line 342.

    No Hooks

    This function does not have any filters or actions available. Request one?
    JavaScript
    nebula.reflow = function(selector){
        let element; //This must be let and not const
    
        if ( typeof selector === 'string' ){
            element = jQuery(selector);
        } else if ( typeof selector === 'object' ){
            element = selector;
        } else {
            nebula.help('nebula.reflow() requires a selector as a string or jQuery object.', '/functions/reflow/');
            return false;
        }
    
        element.width(); //Could use element.offsetHeight here without jQuery
    };
    

    Override

    To override or disable this JavaScript function, simply redeclare it with the exact same function name. Remember: Some functionality is conditionally loaded via dynamic imports, so if your function is not overriding properly, try listening for a DOM event (described below).

    JavaScript

    For non-module import functions:

    nebula.reflow = function(selector){
        //Write your own code here, leave it blank, or return false.
    }


    For dynamically imported module function overrides:

    jQuery(window).on('load', function(){
        nebula.reflow = function(selector){
            //Write your own code here, leave it blank, or return false.
        }
    });


    Custom Nebula DOM events do also exist, so you could also try the following if the Window Load listener does not work:

    jQuery(document).on('nebula_module_loaded', function(module){
        //Note that the module variable is also available to know which module specifically was imported
        if ( typeof nebula.reflow === 'function' ){
            nebula.reflow = function(selector){
                //Write your own code here, leave it blank, or return false.
            }
    	}
    });