将 css 中的职位加起来 javascript

add up positions from css in javascript

我正在尝试编写一个小游戏,因此试图在特定区域移动一个对象。为了获得某种边界,我正在尝试添加位置。但是我会为你简化这个,这是行不通的:(在 JS 中)

parseInt( $('#w'+w ).css( 'top' ) + $('#w'+w ).css( 'height' ) )

这应该只是将顶部位置与该元素的高度相加。当我打印出来时,它会告诉我它是 100。但是当我打印 height 和 top 而不将它们相加时,它的 height = 500 和 top = 100(这就是 css 代码中的情况)。 如果我交换高度和顶部并将其加起来,结果是 500,所以第一个元素。我得到了类似的计算,这很合适。有什么建议我的代码出了什么问题吗?

您可能正在连接字符串:

// $('#w' + w).css('top') returns the string "100px"
// $('#w' + w).css('height') returns the string "500px"
parseInt("100px" + "500px") // 100
parseInt("500px" + "100px") // 500

我建议您将代码更改为:

parseInt($('#w' + w).css('top')) + parseInt($('#w' + w).css('height'))

最高使用位置:

var position = $('#w'+w ).position();
console.log( "left: " + position.left + ", top: " + position.top );

对于高度或宽度使用 jQuery width() 和 height():

console.log( "width: " +$('#w'+w ).width() + ", height: " + $('#w'+w ).height() );