61,115
社区成员
发帖
与我相关
我的任务
分享
$('#PresonnelRightDivBody').scroll(function () {
document.getElementById("PresonnelHeadTable").style.marginLeft = (0 - document.getElementById('PresonnelRightDivBody').scrollLeft) + "px";
});
<script type="text/javascript">
var lt = 0;
var islt = false;
$(function () {
var otherH = (($('.ctoolbar').length * 26) + ($('.ftitle').length * 26) + 15);
$('#PresonnelRightDiv').css('height', document.documentElement.clientHeight - otherH);
$('#PresonnelRightDivBody').css('height', document.documentElement.clientHeight - (otherH + $('#PresonnelHeadTable').height()));
$('#PresonnelRightDivBody').scroll(function () {
var tislt = document.getElementById('PresonnelRightDivBody').scrollLeft;
//左右滚动
if (lt != tislt) {
if (islt == true) {
lt = tislt;
return;
}
$('#PresonnelHeadTable').insertBefore($('#PresonnelRightDivBody').find('table:eq(0)'));
document.getElementById("PresonnelHeadTable").style.marginLeft = 0 + "px";
document.getElementById("PresonnelHeadTable").style.marginTop = document.getElementById('PresonnelRightDivBody').scrollTop + "px";
islt = true;
}
//上下滚动
if (lt == tislt) {
if (islt == false) {
lt = tislt;
return;
}
$('#PresonnelHeadTable').insertBefore($('#PresonnelRightDivBody'));
document.getElementById("PresonnelHeadTable").style.marginTop = 0 + 'px';
document.getElementById("PresonnelHeadTable").style.marginLeft = (0 - tislt) + "px";
islt = false;
}
});
});
</script>
[/quote]
饿..还是蛮纠结的. 不过明确一个原则: 尽量少的改变DOM结构, 少让DOM重绘, 绝对对性能有好处
还有既然用jq了, 就用$("#id").css()来设置, 加载着写好奇怪; 高度用.height(val)来设置
<script type="text/javascript">
var lt = 0;
var islt = false;
$(function () {
var otherH = (($('.ctoolbar').length * 26) + ($('.ftitle').length * 26) + 15);
$('#PresonnelRightDiv').css('height', document.documentElement.clientHeight - otherH);
$('#PresonnelRightDivBody').css('height', document.documentElement.clientHeight - (otherH + $('#PresonnelHeadTable').height()));
$('#PresonnelRightDivBody').scroll(function () {
var tislt = document.getElementById('PresonnelRightDivBody').scrollLeft;
//左右滚动
if (lt != tislt) {
if (islt == true) {
lt = tislt;
return;
}
$('#PresonnelHeadTable').insertBefore($('#PresonnelRightDivBody').find('table:eq(0)'));
document.getElementById("PresonnelHeadTable").style.marginLeft = 0 + "px";
document.getElementById("PresonnelHeadTable").style.marginTop = document.getElementById('PresonnelRightDivBody').scrollTop + "px";
islt = true;
}
//上下滚动
if (lt == tislt) {
if (islt == false) {
lt = tislt;
return;
}
$('#PresonnelHeadTable').insertBefore($('#PresonnelRightDivBody'));
document.getElementById("PresonnelHeadTable").style.marginTop = 0 + 'px';
document.getElementById("PresonnelHeadTable").style.marginLeft = (0 - tislt) + "px";
islt = false;
}
});
});
</script>