Domanda

I am getting 2 errors from jslint when trying to use the script below, the offending lines are:

rowDivs = new Array(); The array literal notation [] is preferable. Now I tried changing this to Array([]) it removes the error but not sure if this is correct?

topPosition = 0; Expected an assignment or function call and instead saw an expression

Anybody have any ideas please?

     equalheight = function (container) {

        var currentTallest = 0,
        currentRowStart = 0,
        rowDivs = new Array[];
        $el,
        topPosition = 0;
        $(container).each(function () {

        el = $(this);
        $($el).height('auto');
        topPostion = $el.position().top;

            if (currentRowStart != topPostion) {
                for (currentDiv = 0; currentDiv < rowDivs.length; currentDiv++) {
                    rowDivs[currentDiv].height(currentTallest);
                }
                rowDivs.length = 0; // empty the array
                currentRowStart = topPostion;
                currentTallest = $el.height();
                rowDivs.push($el);
            } else {
                rowDivs.push($el);
                currentTallest = (currentTallest < $el.height()) ? ($el.height()) :     (currentTallest);
            }
            for (currentDiv = 0; currentDiv < rowDivs.length; currentDiv++) {
                rowDivs[currentDiv].height(currentTallest);
            }
        });
    };

    $(window).load(function () { equalheight('.equal'); });
    $(window).resize(function () { equalheight('.equal'); });
È stato utile?

Soluzione

Your syntax is wrong and you've got an extra semi-colon:

var currentTallest = 0,
    currentRowStart = 0,
    rowDivs = [],
    $el,
    topPosition = 0;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top