0

変数はすべて、標準によって関数の上に宣言する必要があると聞きました。

しかし、要素が関数の間に作成され、別の要素が作成要素の幅または高さに(動的に)依存する場合、どのようにして上部の変数を宣言できますか?

これは私の機能です:

var stepSlider = function(holder,column){

    $.each(holder, function(i,value) {

       var  container = $(value),
            colCount = column,
            boardViewer = container.find('.stepRangeCompound'),
            boardHolder = container.find('.boardHolder'),
            board =  container.find('.indBoard'),
            boardCount = board.size(),
            boardWidth = board.outerWidth(true),
            boardHeight = board.outerHeight(true),

            initial=0;

        //setting sizes

        while(initial < boardCount){
            if(initial % colCount === 0){
                $('<div />',{
                    class:'boardColumn',
                    css:{
                        float:'left',
                        height:boardHeight*colCount
                    }
                    })
                .appendTo(boardHolder) //after append only i am getting the width and element at all.
            }
            $('.boardColumn:last').append(board[initial]);
            initial++;
        }

        var colWidth = $('.boardColumn').width(), //i am declaring variable here
            coloSize = $('.boardColumn').size();

        boardViewer.css({
            width:colCount*colWidth // i am applying the values here.
        });

        boardHolder.css({
            width:coloSize * colWidth // i am applying the values here.
        });

    })
}

私が間違っている場合、誰かが私を正しい方法に導き、すべての変数を上にのみ宣言しますか?

4

2 に答える 2

2

JavaScriptでその場で変数を宣言できます。宣言する必要はありません。しかし、それでも、使用されているすべての変数を上に宣言する必要があります。null値で宣言し、必要な値を割り当てることができます

var colWidth,coloSize ;  // on the top you declare 
.
.
.
colWidth = $('.boardColumn').width();  // in the middle you assign them the value
coloSize = $('.boardColumn').size();
于 2012-12-27T14:09:49.083 に答える
1

null値を使用して上部で宣言し、要素の作成時に値を割り当てることができます

于 2012-12-27T14:05:14.193 に答える