当前位置: 首页 > 知识库问答 >
问题:

jQuery:排列显示偏移量顶部为不相同[重复]的div

笪成周
2023-03-14

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

null

$(document).ready(function() {
  if (Math.floor($("#menu1").offset().top) === Math.floor($("#menu2").offset().top) === Math.floor($("#menu3").offset().top)) {
    console.log("equal");
  } else {
    console.log($("#menu1").offset().top);
    console.log($("#menu2").offset().top);
    console.log($("#menu3").offset().top);
    console.log('not equal');
  }
});
#container {
  display: block;
  width: 800px;
  margin: 0 auto;
}

span {
  display: inline;
  vertical-align: top;
  position: relative;
  /* float: right; */
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id='container'>
  <span id='menu1'>item1</span>
  <span id='menu2'>item2</span>
  <span id='menu3'>item3</span>
  <span id='menu4'>item4</span>
  <span id='menu5'>item5</span>
  <span id='menu6'>item6</span>
</div>

null

共有1个答案

汤兴生
2023-03-14

问题是由于你的复合比较。

循序渐进,if条件等于:

if (8 === 8 === 8)

在第一次比较之后,这变成:

if (true === 8)

显然,这一条件不会通过。

另一种方法是生成top偏移量值的数组,并使用every()检查它们是否全部相同:

null

jQuery($ => {
  let $spans = $('.container .menu');
  let tops = $spans.map((i, el) => $(el).offset().top).get();
  let allIdentical = tops.every(t => $spans.first().offset().top);

  console.log(allIdentical ? 'equal' : 'not equal');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="container">
  <span class="menu">item1</span>
  <span class="menu">item2</span>
  <span class="menu">item3</span>
  <span class="menu">item4</span>
  <span class="menu">item5</span>
  <span class="menu">item6</span>
</div>
 类似资料:
  • 我有一个单一的Kafka消费者,它连接到一个有3个分区的主题。一旦我从Kafka那里得到一张唱片,我就想捕捉偏移量和分区。在重新启动时,我希望从上次读取的偏移量恢复使用者的位置 摘自Kafka文档: 每个记录都有自己的偏移量,因此要管理自己的偏移量,只需执行以下操作: 配置enable.auto.commit=false 下面是我的示例代码: 这是正确的做法吗?有没有更好的办法?

  • 为什么该方法使用UTC时区()而不包括本地时间偏移量()?方法名称中的“ISO”指的是ISO 8601-它允许将“时区指定”表示为其格式的一部分。 换句话说,告诉我日期和时间,以及时区偏移量(通过)。但是只告诉我一个时区中的日期和时间-它丢弃了在区域设置中产生的时间信息。 也包括始发时区与UTC的偏移量不是很有意义吗?省略+/-hh:ss会丢失关于原始的信息(如果它用于序列化的话)。 我的所有AJ

  • 我们的拓扑使用从kafka主题获取消息。我们有约150个主题,包含约12个分区、8个storm执行器和2个storm节点上的任务。Storm版本1.0.5,Kafka经纪人版本10.0.2,Kafka客户端版本0.9.0.1。我们不会删除Kafka主题。 在某个时刻,我在worker中观察到大量重复的警告消息。日志 2018-05-29 14:36:57.928 o.a.s.k.KafkaUtil

  • 为什么实际主题中的偏移值与同一主题中的偏移值不同?PFB偏移位置以及使用的命令。 我错过了什么?

  • 我是Python新手。我想在下图中显示每个箱上方的值: 这是我的代码: 这是我想要的图表:

  • 我有一个SOAP Web服务,它发送一个kafka请求消息,并等待一个kafka响应消息(例如,consumer.poll(10000))。 每次调用web服务时,它都会创建一个新的Kafka生产者和一个新的Kafka消费者。 每次调用web服务时,使用者都会收到相同的消息(例如,具有相同偏移量的消息)。 我使用的是Kafka0.9,启用了自动提交,并且自动提交频率为100毫秒。 更新0001