我正在尝试使用jquery clone函数修复表头。克隆功能正常运行,但在滚动之前看不到我的标题。滚动后,克隆表可以正常工作。滚动前需要显示表头,滚动后需要显示克隆表头
var tableOffset = $("#myTable").offset().top;
var $header = $("#myTable > thead").clone();
var $fixedHeader = $("#header-fixed").append($header);
$(".table-container").bind("scroll", function () {
var offset = $(this).scrollTop();
if (offset >= tableOffset && $fixedHeader.is(":hidden")) {
$fixedHeader.fadeIn(2000);
} else if (offset < tableOffset) {
$fixedHeader.hide();
}
});
最佳答案
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
<input type="button" name="new_btn" value="NEW" onclick="add()">
<table>
<tr id="col_tr" style="display: none">
<td>
<input type="button" name="inc_btn" id="inc_" value="+">
<input type="text" name="qty" id="qty_" value="0">
<input type="button" name="dec_btn" id="dec_" value="-">
</td>
</tr>
</table>
</body>
<script>
var i = 0;
function add() {
if (i < 3) {
var template = $("#col_tr").clone();
template.css('display', '');
template.prop('class','main');
template.find("#inc_").replaceWith('<input type="button" name="inc_btn" onclick="increment(' + i + ')" id="inc_' + i + '" value="+">')
template.find("#qty_").replaceWith('<input type="text" name="qty" id="qty_' + i + '" value="0">')
template.find("#dec_").replaceWith('<input type="button" name="dec_" id="dec_' + i + '" onclick="decrement(' + i + ')" value="-">')
$("#col_tr").after(template);
i++;
}else{
$(".main").remove();
i=0;
}
}
function increment(j) {
var val = $("#qty_" + j).val();
var total = ++val;
$("#qty_" + j).val(total);
}
function decrement(j) {
var val = $("#qty_" + j).val();
var total = --val;
$("#qty_" + j).val(total);
}
</script>
</html>
关于jquery - jQuery的表头克隆问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24007311/