Javascript Jquery:显示偏移顶部不相同的对齐div

Javascript Jquery:显示偏移顶部不相同的对齐div,javascript,jquery,Javascript,Jquery,我对javascript比较陌生,对于这个问题我还有些挠头。我有很多跨度,都在同一条线上。但是当我得到所有跨度元素的顶部并进行比较时,它表示它不相同,但是在控制台中,我可以看到所有跨度的值都相同,即8。我是不是遗漏了什么 $(文档).ready(函数(){ if(Math.floor($(“#menu1”).offset().top)==Math.floor($(“#menu2”).offset().top)==Math.floor($(“#menu3”).offset().top)){ 控

我对javascript比较陌生,对于这个问题我还有些挠头。我有很多跨度,都在同一条线上。但是当我得到所有跨度元素的顶部并进行比较时,它表示它不相同,但是在控制台中,我可以看到所有跨度的值都相同,即8。我是不是遗漏了什么

$(文档).ready(函数(){
if(Math.floor($(“#menu1”).offset().top)==Math.floor($(“#menu2”).offset().top)==Math.floor($(“#menu3”).offset().top)){
控制台日志(“相等”);
}否则{
console.log($(“#menu1”).offset().top);
console.log($(“#menu2”).offset().top);
console.log($(“#menu3”).offset().top);
console.log('notequal');
}
});
#容器{
显示:块;
宽度:800px;
保证金:0自动;
}
跨度{
显示:内联;
垂直对齐:顶部;
位置:相对位置;
/*浮动:对*/
}

项目1
项目2
项目3
项目4
项目5
项目6

问题在于您的复合比较

一步一步地进行,如果
条件等于:

if (8 === 8 === 8)
在第一次比较之后,这变成:

if (true === 8)
显然,这一条件不会通过

另一种方法是构建一个
top
偏移值数组,并使用
every()
检查它们是否完全相同:

jQuery($=>{
让$spans=$('.container.menu');
让tops=$spans.map((i,el)=>$(el.offset().top).get();
让allIdentical=tops.every(t=>$span.first().offset().top);
log(allIdentical?'equal':'notequal');
});

项目1
项目2
项目3
项目4
项目5
项目6

console.log(8===8==8)
哎哟,太尴尬了。我忽略了true==8的比较。非常感谢Rory。吸取的教训。还有如何编辑问题:)没问题,很乐意帮助:)