ul中li的位置值出错

时间:2018-06-19 01:52:17

标签: javascript php jquery position offset

我有这个问题。当我试图获得UL中每个LI的位置时,给我相同的值。

这是HTML:

      <ul class="ul-barras">
            <li class="li-barras">
                <?php
                    $drawEtapas=0;
                    while($drawEtapas <= 4){
                      $filaEtapa= array_values($celdaEtapas)[$drawEtapas];?>
                        <div class="t-barras <?php echo $excel_arrConf [2] ['D'];?><?php echo $drawEtapas; ?>"><p class="etapas-font"><?php echo $excel_arr2 [$filaEtapa] ['A'];?></p></div>
                <?php $drawEtapas++;
                    }
                 ?>
            </li>    
      </ul>
                <ul class="ul-meses">
                    <?php 
                      $primerMes=1;
                      while ($primerMes <= $totalMeses){ 
                        $SumaMeses = $mesNumero-2 + $primerMes;
                        if($SumaMeses<=11){
                        $mesTexto =  $meses [$mesNumero-2 + $primerMes];                               
                        ?>
                        <li class="meses">
                          <div class="tracker-divisor"></div>                           
                          <p class="calibri-font meses-font"><?php echo $mesTexto; ?></p>
                        </li> 
                    <?php } if ($SumaMeses > 11 & $SumaMeses <= 23) {
                        $mesTexto =  $meses [$mesNumero-2 + $primerMes - 12]; ?> 
                        <li class="meses">
                          <div class="tracker-divisor"></div>                           
                          <p class="calibri-font meses-font"><?php echo $mesTexto; ?></p>
                        </li>                                                        
                    <?php } if ($SumaMeses > 23 & $SumaMeses <= 35) {
                        $mesTexto =  $meses [$mesNumero-2 + $primerMes - 24]; ?> 
                        <li class="meses">
                          <div class="tracker-divisor"></div>                           
                          <p class="calibri-font meses-font"><?php echo $mesTexto; ?></p>
                        </li>                                                      
                    <?php } if ($SumaMeses > 35 & $SumaMeses <= 47) {
                        $mesTexto =  $meses [$mesNumero-2 + $primerMes - 36]; ?> 
                        <li class="meses">
                          <div class="tracker-divisor"></div>                           
                          <p class="calibri-font meses-font"><?php echo $mesTexto; ?></p>
                        </li>                                                      
                    <?php } if ($SumaMeses > 47 & $SumaMeses <= 59) {
                        $mesTexto =  $meses [$mesNumero-2 + $primerMes - 48]; ?> 
                        <li class="meses">
                          <div class="tracker-divisor"></div>                           
                          <p class="calibri-font meses-font"><?php echo $mesTexto; ?></p>
                        </li>                                                      
                    <?php }
                    $primerMes++;
                      }
                    ?>
                </ul>   

这是CSS:

 .meses {
     width:280px;
     height:54px;
     background:#353535;
     border-right: 1px dashed #fff;
     position: relative;
  }

 .ul-meses {
     margin:0;
     padding: 0;
     list-style: none;
     display: inline-flex;
     overflow: hidden;
     background:#353535;    
     position:relative; 
 }

以下是Javascript:

</script>
                <?php
                    $posEtapas=0;
                    while($posEtapas <= 4){
                      $comprobarYearInicio= $inicioYearEtapa[$posEtapas];
                      //$InicioDiv= $inicioCadaEtapa[$posEtapas]-1; ?>
                        <script> ;
                                  var inicioRef= $("li:contains('<?php echo $comprobarYearInicio; ?>')").offset();
                                  var inicioTabla= inicioRef + 100;
                                  if ($("li:contains('<?php echo $comprobarYearInicio; ?>')").length){
                                    $(".<?php echo $excel_arrConf [2] ['D'];?><?php echo $posEtapas; ?>").css("marginLeft", inicioTabla);
                                  }
                                  console.log(inicioRef);
                        </script>
                <?php $posEtapas++;
                    }
                 ?>
<script>

我尝试使用position(),Offset()css。(margin-left)而没有。我试着把位置“绝对”和“相对”放在UL和LI上,什么都没有。也许我需要一种不同的方法,所以我要解释我需要什么。

我的UL有“n”个LI(每个LI代表一个月)。每个LI具有相同的大小,并且它们的排序类似于“inline-flex”(在X ax中彼此相邻)。我需要获取包含特定元素的某些LI的X值或Left值(例如2017年1月,2018年3月,2018年6月等)。这些元素将改变,并用PHP指定。

我选择元素时没有问题:$(“li:contains('MONTH')”)但是当我做“while”时给出了相同的“left”值。

知道我做错了什么吗?谢谢!

0 个答案:

没有答案