repetir función cada X números en variable

Quiero meter un div cada x líneas en una página. Ya tengo el contador que me dice las líneas en las que estoy y lo que necesito es repetir la acción cada x líneas.

Éste es el código que tengo:

var LineaJump = Contarlineas('.Lineas'); 
if (LineaJump >= 35) { $('#Lineas').append('<div class="Espaciador">&nbsp;</div>'); }

Hasta ahí cada 35 LineaJump mete el salto, pero necesito que sea cada 35, 70,105, etc... O sea, cada 35 líneas, pero no puedo resetear el LineaJump para que cada vez que se ejecute se ponga a 0 y que siempre sea 35 ya que la página se recarga cada cierto tiempo y tengo que volver a poner el espaciador.

Supongo que no sirve para nada, pero bueno lo pongo por si os viene bien. el código que cuenta las líneas es este:

function Contarlineas(selector) {
    var height = $(selector).height();
    var line_height = $(selector).css('line-height');
    line_height = parseFloat(line_height)
    var rows = height / line_height;
    return Math.round(rows);
}

Quizás hay otro método para hacerlo, estoy abierto a cambios.

1
задан 27.12.2016, 05:36
0 ответов

Ты ищешь условие когда LineaJump будьте делимым из-за 35. А именно, когда оставшаяся часть деления будет нулем. И это осуществляется с оператором модуля (%).

const cadaCuantasLineas = 35;

if (LineaJump % cadaCuantasLineas == 0) {

    // insertar el salto de línea acá 

}

Условие будет действительным когда LineaJump его было 0, 35, 70, 105, 140, 175, 210, …

1
ответ дан 03.12.2019, 17:58
  • 1
    он перемещает меня то же самое, что и с кодом sioesi, который, перезагрузив div, теряется, и потом вероятно, что он помещает более 1 линии в раз, с которым возможно, что однажды - линия 35 и другая 43 (это говорит из-за divisió n) разрыв страницы я должен делать это всегда в 35, не, если я объясняюсь –  27.12.2016, 14:55
  • 2
    @Killpe это уже другой различный вопрос, на có я говорю, что ты не напечатал. Ты можешь формулировать новый вопрос, хотя я предполагаю, что podrí схвати видеть cuá ntos клавиши для интервалов уже ты добавил. –  27.12.2016, 20:34

Ты можешь делать что-либо подобное

Ты объявляешь переменную вне функции

var numero_lineas = 35;

Потом в твоей функции проверять так

if (LineaJump >= numero_lineas){
   //tucodigo
   numero_lineas = numero_lineas + 35;
}

$(document).ready(function(){
  var lineas = 2;
  
  $("#agregar").click(function(){
      if(Contarlineas() == lineas){
         lineas = lineas + 2;
         $("#lineas").append('<div class="Espaciador">Espacio&nbsp;</div>');
      }
      $("#lineas").append("<p>asdasdasd</p>");
      
  });
});

function Contarlineas() {
    return $("#lineas > p").length;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" placeholder="Agrege linea">
<button id="agregar">Agregar</button>
<div id="lineas"></div>
2
ответ дан 03.12.2019, 17:58
  • 1
    я не понимаю хорошо... с этим понимаю, что просто прибавился бы 35 в numero_lineas, но что я нуждаюсь, дело в том, что каждые 35 линий вновь работала функция $ (' #Lineas') .append (' < div class =" Espaciador" > & nbsp; < / div> '); –  26.12.2016, 22:39
  • 2
    @Killpe издал мой ответ, предельный акцент линий 2, для того, чтобы ты видел то, что он делает –  26.12.2016, 22:49
  • 3
    Функционируй гениально :) но меня не поддерживает слой espaciadora в 35 предыдущий, перезагрузив... mañ ана я это тестирую немного больше используя код примера, который ты помещаешь, что там, если оно функционирует и держится. тысячи спасибо за твою помощь –  27.12.2016, 01:22
  • 4
    recagar страницу ты говоришь? Mmm я буду проверять то, что он перемещает, он такой, как перезагружен Веб, также стоимость, может быть, мы могли бы идентифицировать, когда перезагружено сохранять это в localStorage или что-либо подобное последний valir –  27.12.2016, 01:24
  • 5
    действительно я не загружаю всю страницу, единственная догрузка div, где загружаются результаты, я поместил var линии = 2; вне этой он перезагружает для того, чтобы он это поддержал всегда, но оставшаяся часть кода они внутри части, которую он перезагружает, то же самое я должен доставать это отсюда, но просвет, если я это достаю, не повторно вычисляется –  27.12.2016, 01:26