我有这个问题。当我试图获得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”值。
知道我做错了什么吗?谢谢!