Changeset 18780 for lang/ruby

Show
Ignore:
Timestamp:
09/04/08 02:50:25 (6 years ago)
Author:
hajimehoshi
Message:

Refactored

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/ruby/bokeshi/trunk/website/public/javascripts/bokeshi.js

    r18779 r18780  
    22 
    33function initStage() { 
    4     var stageHTML = $("#stage"); 
    54    for (var i = 0; i < stage.length; i++) { 
    65        var ul = $('<ul></ul>').addClass("row"); 
    76        for (var j = 0; j < stage[i].length; j++) { 
    8             ul.append($("<li>|</li>").attr("id", "stick_"+i+"_"+j).data("row", i).data("col", j)); 
     7            ul.append($("<li>|</li>").data("row", i).data("col", j)); 
    98        } 
    10         stageHTML.append(ul); 
     9        $("#stage").append(ul); 
    1110    } 
    1211    $(".row").selectable({ 
     
    1716            var selected = $.grep($(".ui-selected"), function (e, i) { 
    1817                return !$(e).hasClass("removed"); 
     18            }).sort(function (a, b) { 
     19                return $(a).data("col") - $(b).data("col"); 
    1920            }); 
    2021            if (0 < selected.length) { 
    21                 var firstCol = $(selected[0]).data("col") 
     22                var firstRow = $(selected[0]).data("row"); 
     23                var firstCol = $(selected[0]).data("col"); 
    2224                var isSuccessive = true 
    2325                for (var i = 1; i < selected.length; i++) { 
     
    2931                if (isSuccessive) { 
    3032                    stage.remove({ 
    31                         row: $(selected[0]).data("row"), 
    32                         col: $(selected[0]).data("col"), 
     33                        row: firstRow, 
     34                        col: firstCol, 
    3335                        length: selected.length 
    3436                    }, "player"); 
     
    5961            var col = removing.col; 
    6062            var length = removing.length; 
    61             for (var i = 0; i < length; i++) { 
    62                 var col2 = col + i; 
    63                 this[row][col2] = by; 
    64                 var id = "stick_" + row + "_" + col2; 
    65                 $("#" + id).addClass("removed").addClass({ 
     63            var stick = $("#stage li").filter(function () { 
     64                return $(this).data("row") == row && $(this).data("col") == col; 
     65            }); 
     66            for (var i = 0; i < length; i++, stick = stick.next()) { 
     67                this[row][col + i] = by; 
     68                stick.addClass("removed").addClass({ 
    6669                    "player": "byPlayer", 
    6770                    "cpu": "byCPU"