打印时如何计算固定div标签的位置数?

时间:2018-01-15 02:07:04

标签: javascript jquery html css

var bottom = 0; /* Position of first page number - 0 for bottom of first page */
var pagNum = 2; /* First sequence - Second number */
$(document).ready(function() {
  /* For each 10 paragraphs, this function: clones the h3 with a new page number */
  $("p:nth-child(10n)").each(function() {
    bottom -= 100;
    botString = bottom.toString();
    var $counter = $('h3.pag1').clone().removeClass('pag1');
    $counter.css("bottom", botString + "vh");
    numString = pagNum.toString();
    $counter.addClass("pag" + numString);
    ($counter).insertBefore('.insert');
    pagNum = parseInt(numString);
    pagNum++; /* Next number */
  });
  var pagTotal = $('.pag').length; /* Gets the total amount of pages by total classes of paragraphs */
  pagTotalString = pagTotal.toString();
  $("h3[class^=pag]").each(function() {
    /* Gets the numbers of each classes and pages */
    var numId = this.className.match(/\d+/)[0];
    document.styleSheets[0].addRule('h3.pag' + numId + '::before', 'content: "Page ' + numId + ' of ' + pagTotalString + '";');
  });
});

$('.print').on('click', function() {
  window.print();
  return false;
});

上面的代码会每10 <p>个代码添加一个到页码。 E.g。

// if one <p> tag
Page 1 of 1

// if ten <p> tag
Page 1 of 10

我有一个固定的<div>标记位置,它将显示在每个打印页面的顶部。我希望在下一个打印页面上显示位置固定<div>标记的数量。

有没有这样做?

1 个答案:

答案 0 :(得分:0)

下面的代码将捕获所有myApp个元素,并过滤掉所有没有/path/to/linux-x64/publish/myApp 的元素。

jQuery的<div>获取器利用了JavaScript的getComputedStyle(),因此它适用于内联 CSS样式。

position: fixed
.css()
var fixedDivCount = $("div").filter(function() {
  return $(this).css('position') == 'fixed';
}).length;

console.log(fixedDivCount);