在 JavaScript 中从 CSS 中加分位置

add up positions from css in javascript

本文关键字:位置 CSS JavaScript 中从      更新时间:2023-09-26

我正在尝试编写一个小游戏,因此尝试在某个区域中移动对象。为了获得一些边界,我正在尝试加仓。但是,我将为您简化此操作,这是不起作用的:(在JS中)

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

这应该只是将顶部位置与此元素的高度相加。当我打印出来时,它会告诉我它是 100。但是当我打印高度和顶部而不将它们相加时,它的高度 = 500 和顶部 = 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() );