Javascript 隐藏和显示div会导致此div中的列表滚动到顶部
我通过定义两个div来模拟我有多个页面,每个div充当一个页面。此时只显示一页。这些部门是:Javascript 隐藏和显示div会导致此div中的列表滚动到顶部,javascript,jquery,html,Javascript,Jquery,Html,我通过定义两个div来模拟我有多个页面,每个div充当一个页面。此时只显示一页。这些部门是: divProjectList divProjectListItem 当用户打开网站时,会显示div“divProjectList”。此div包含一个未排序的项目列表。这是一个很长的列表,因此可以排序 用户从列表中单击一个项目后,我将执行一个$('divProjectList').hide(),然后执行一个$('divProjectListItem').show()。该列表现在对用户不可见,而是显示他从列
$('divProjectList').hide()
,然后执行一个$('divProjectListItem').show()
。该列表现在对用户不可见,而是显示他从列表中选择的项目的项目详细信息
一旦用户单击关闭按钮,它就会以相反的方式工作。项目详细信息页面将被隐藏,项目列表页面将再次显示
如果用户向下滚动了一点(或几页),那么项目列表将滚动回第一个项目,并且他单击的项目现在不在视图中
我有一个按钮,它有一个隐藏和显示按钮,还有一个模拟我上面描述的行为的列表
我想知道我在这里看到的是否是预期的行为,以及我如何能够绕过这一点。现在,我通过使用$.ScrollTo解决了这个问题:
$('#' + currentProjectId).ScrollTo({duration: 0, offsetTop: 151})
此jquery代码提醒您滚动到的位置,并在您按下show按钮时将您放回该位置: jquery:
var scroll;
$("#btnHide").on("click", function (e) {
scroll = $(document).scrollTop();
// $("#divOptions").hide();
$("#divOptions").css('display', 'none');
})
$("#btnShow").on("click", function (e) {
// $("#divOptions").show();
$("#divOptions").css('display', 'block');
if ( scroll !== null ) {
$(document).scrollTop(scroll);
}
})
我希望这对你有帮助 此jquery代码提醒您滚动到的位置,并在您按下“显示”按钮时将您放回该位置: jquery:
var scroll;
$("#btnHide").on("click", function (e) {
scroll = $(document).scrollTop();
// $("#divOptions").hide();
$("#divOptions").css('display', 'none');
})
$("#btnShow").on("click", function (e) {
// $("#divOptions").show();
$("#divOptions").css('display', 'block');
if ( scroll !== null ) {
$(document).scrollTop(scroll);
}
})
我希望这对你有帮助 此jquery代码提醒您滚动到的位置,并在您按下“显示”按钮时将您放回该位置: jquery:
var scroll;
$("#btnHide").on("click", function (e) {
scroll = $(document).scrollTop();
// $("#divOptions").hide();
$("#divOptions").css('display', 'none');
})
$("#btnShow").on("click", function (e) {
// $("#divOptions").show();
$("#divOptions").css('display', 'block');
if ( scroll !== null ) {
$(document).scrollTop(scroll);
}
})
我希望这对你有帮助 此jquery代码提醒您滚动到的位置,并在您按下“显示”按钮时将您放回该位置: jquery:
var scroll;
$("#btnHide").on("click", function (e) {
scroll = $(document).scrollTop();
// $("#divOptions").hide();
$("#divOptions").css('display', 'none');
})
$("#btnShow").on("click", function (e) {
// $("#divOptions").show();
$("#divOptions").css('display', 'block');
if ( scroll !== null ) {
$(document).scrollTop(scroll);
}
})
我希望这对你有帮助 谢谢你的回答Stefan!您的代码或多或少是我在代码中所做的,请参阅我的fp。我发现我需要100毫秒的时间来让它一直工作。谢谢你的回答Stefan!您的代码或多或少是我在代码中所做的,请参阅我的fp。我发现我需要100毫秒的时间来让它一直工作。谢谢你的回答Stefan!您的代码或多或少是我在代码中所做的,请参阅我的fp。我发现我需要100毫秒的时间来让它一直工作。谢谢你的回答Stefan!您的代码或多或少是我在代码中所做的,请参阅我的fp。我发现我需要用100毫秒的时间来让它一直工作。