Почему меня выполняет это во всех линиях?

Я стараюсь способствовать тому, чтобы каждые X линий мне ввел tr с клавишей для интервалов, более или менее это у меня есть, но каждый раз, когда я прибываю в линию, чтобы помещать место, он это помещает во все линии вместо в линии, которая делает разрыв.

я использую этот код в javascript и jquery, чтобы это делать:

<script>
var Infactura_Lineanum = Contarlineas('.Lineas_Infactura');

const Infactura_N_Lineas = 35; //defino cuando quiero que salte la pagina

if (Infactura_Lineanum >= Infactura_N_Lineas) {
++Infactura_Pagina;
var Infactura_Lineanum = 0;
$('tbody').after('<tr class="Espaciador" />hola</tr>');
$('#doc_Infactura').append('<page size="A4" id="Pagina'+Infactura_Pagina+'" class="insertarDoc">'
+'<div id="cabeceradoc">Factura</div>'
+'<div class="logo"><img src="../Scripts/Imagenes/Empresas/<?=$_SESSION['Empresa_Id'];?>/<?=$_SESSION['Empresa_Logo'];?>" alt="<?=$_SESSION['Empresa_Nombre'];?>" /></div>'
+'<div class="marca_agua"><img src="../Scripts/Imagenes/Empresas/<?=$_SESSION['Empresa_Id'];?>/<?=$_SESSION['Empresa_MarcaAgua'];?>" /></div>'
+'<div class="Empresa"><?=$_SESSION['Empresa_Nombre'];?></div>'
+'<div class="Registromercantil"><?=$_SESSION['Empresa_Registro'];?></div>'
+'<div id="Infactura_Totales_'+Infactura_Pagina+'">&nbsp;</div>'
+'<div class="Npagina">Pagina '+Infactura_Pagina+'</div>'
+'</page>');
$('#Infactura_Totales_1').appendTo('#Infactura_Totales_'+Infactura_Pagina); 
}
console.log('Linea Jump '+Infactura_Lineanum);
</script>

Линия, подразумеваемая, что предполагается, что они помещают разрыв es:

$('tbody').after('<tr class="Espaciador" />hola</tr>');

Рисунок - имитируя листы в a4 и то, что я хочу, состоит в том, чтобы каждый раз, когда я прибыл в линию 35 ввел другую страницу и поместил клавишу для интервалов между страницами для того, чтобы он не поместил текст ни в ногу предыдущей страницы ни в заголовок следующей.

В следующем изображении видят, как он поместил текст в размещенное место. Последние две линии должны бы быть на странице 2, но ниже.

Pagina

Линии продукта группировались tbody, так как мне нужно, чтобы была у 2 tr каждая линия (хотя он мог бы менять это на пронумерованные списки, если он более легкий).

В конце концов, хотя я думаю, что не является значимым счетчик линий, что использование это:

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);
}

Место между листами всегда - то же самое, хотя могут существовать бесконечные листы и очевидно размер листов также всегда - тот же самый.

1
задан 13.01.2017, 21:38
0 ответов

Я стараюсь способствовать тому, чтобы каждые X линий мне ввел tr с клавишей для интервалов

Тогда, почему ты добавляешь клавишу для интервалов к таблице вместо в линии?

$('tbody').after('<tr class="Espaciador" />hola</tr>');

Кроме того, ты закрываешь tag tr неправильной формы. Обрати внимание в />Hola. С другой стороны, функция jQuery#after добавь элемент в конце того же самого; а именно, перед завершением самой этикетки (после детей).

Если твое намерение состоит в том, чтобы тебе ввела клавиша для интервалов каждые X линий, тогда, то, что ты должен делать, состоит в том, чтобы добавлять клавишу для интервалов после линии, которая находится в пределе X.

$('tbody tr').each(function (i) {
  if (i !== 0 && i % 3 === 0) {
    $(this).after('<tr class="Espaciador"></tr>');
  }
});
2
ответ дан 03.12.2019, 17:41

Теги

Похожие вопросы