0
現在的位置我有一個渲染得非常好玉模板和設置是這樣的:獲取有關非絕對元素相對於父
div.rulers
div.ruler-con.js.this-site
div.ui.red.progress
div.label jQuery
div.bar.jquery
div.ruler-con.js.template.pretty-good
div.ui.red.progress
div.label Underscore JS
div.bar.underscore.pretty-good
div.ruler-con.js.pretty-good
div.ui.red.progress
div.label Angular JS
div.bar.angular.pretty-good
div.ruler-con.js.this-site.server.scripting
div.ui.red.progress
div.label Node JS
div.bar.node
父DIV div.rulers有一個CSS規則相對位置。我試圖做的是找出每個div.ruler-con位置頂部相對於div.rulers,從它坐在佈局。基本上,我想知道,如果每個div.ruler-con是絕對的位置,它將位置頂部相對於div.rulers。我曾嘗試:
var top = $(skill).position();
console.log(top);
和:
var top = $(skill).offset();
console.log(top);
兩者都返回top:0
和left:0
。有沒有人對我如何獲得這個價值有任何建議?
作爲參考,變量「技能」各自div.ruler-CON作爲在一個循環中的變量。我通過所有這些div.ruler.con
感謝的循環,
編輯:
這是我現在的javascript:
var _skills = {
each: function(skill_function, other) {
$('div.ruler-con').each(function(i, value) {
_skill_function(value, other)
});
},
set: function(skill) {
var top = $(skill).position();
console.log(top);
},
filter: function(skill, class) {
if ($(skill).hasClass(class)) {
$(skill).fadeIn();
} else {
$(skill).fadeOut();
}
}
}
'頂部:0'和'左:0'是正確的,沒有定位的元素(默認'position:static')是DOM流的一部分,而定位元素在它之外 - 你在混合兩種不同的東西。 – Luca
@Luca,這是有道理的。我有點得出這個結論。現在我正在尋找解決方法或替代方案。 –
在JavaScript中,您將使用'offsetTop'和'offsetLeft'。 – Shaggy