2017-09-05 51 views
2

我正在编写一个JavaScript函数来设置我的离线浏览器游戏所需的图像。我被困在一种情况下,如果默认情况下用户没有通过gridSizegridSize的值变为null则默认值被设置(默认情况下为4)。如何完成此操作。在javascript中创建默认gridSize

puzzle.js

setImage: function (images, gridSize) { 
    console.log(gridSize); 
    console.log(gridSize); 
    var percentage = 100/(gridSize - 1); 
    var image = images[Math.floor(Math.random() * images.length)]; 
    $('#imgTitle').html(image.title); 
    $('#actualImage').attr('src', image.src); 
    $('#sortable').empty(); 
    for (var i = 0; i < gridSize * gridSize; i++) { 
     var xpos = (percentage * (i % gridSize)) + '%'; 
     var ypos = (percentage * Math.floor(i/gridSize)) + '%'; 
     var li = $('<li class="item" data-value="' + (i) + '"></li>').css({ 
      'background-image': 'url(' + image.src + ')', 
      'background-size': (gridSize * 100) + '%', 
      'background-position': xpos + ' ' + ypos, 
      'width': 400/gridSize, 
      'height': 400/gridSize 
     }); 
     $('#sortable').append(li); 
    } 
    $('#sortable').randomize(); 
} 
}; 
+0

欢迎来到SO!这在质量方面并不是一个坏问题,但它已经在 –

+0

@PabloLozano之前回答了您提供的答案不适用于null的链接,但由@BaijNR提供的答案也适用于null。当通过空值时,它只是没有显示任何东西 – NiruADV

+0

检查答案的其余部分,不仅是选定的答案。第二个解释如何处理“falsy”值。尽管如此,你可以(也应该,如果它解决了你的问题)选择@BaijNR答案作为接受的一个 –

回答

0

您可以console.log(gridSize)后开始添加在你的函数这一行:

gridSize = gridSize || 4; // If gridSize is null or not passed, default it as 4 or as required. 

我还没有尝试过,但认为它会工作(因为你需要相同的默认值)...

+0

谢谢@BaijNR这个作品... – NiruADV