[英]How can I create a function so that the content in a modal window scrolls to top when body prevents scroll?
我對開發很陌生,現在正在創建自己的投資組合。 我有模式窗口,用戶可以在其中顯示和瀏覽不同的項目。 我正在使用javascript瀏覽項目,並且已經設置了主體以防止在滾動模式窗口時主體滾動。 我的問題:瀏覽下一個項目時,如何創建一個函數,以便模態窗口中的內容滾動到頂部? 現在,您最終離開的位置與上一個項目所在的位置相同。
//Open modal
function openModal() {
document.getElementById("projectModal").style.display ="block";
noScroll();
}
// Close Modal
function closeModal() {
document.getElementById("projectModal").style.display ="none";
addScroll();
}
var projectIndex =1;
showProjects(projectIndex);
function nextProject(n) {
showProjects(projectIndex+=n);
}
function currentProject(n) {
showProjects(projectIndex=n);
}
function showProjects(n) {
var i;
var projects = document.getElementsByClassName("projects");
if (n>projects.length) {
projectIndex =1
}
if (n<1) {
projectIndex= projects.length
}
for (i=0;i<projects.length; i++) {
projects[i].style.display = "none";
}
projects[projectIndex-1].style.display ="block";
}
// Prevent bodyscrolling
function noScroll() {
body.classList.add("noScroll");
}
//Enables bodyscrolling
function addScroll() {
body.classList.remove("noScroll");
}
只需將元素的scrollTop
設置為0:
function openModal() {
var modal = document.getElementById("projectModal");
modal.scrollTop = 0;
modal.style.display ="block";
noScroll();
}
解
var modal = document.getElementById("projectModal");
var modalContent = document.getElementById("modalContent");
function openModal() {
modal.style.display ="block";
noScroll();
}
// Close Modal
function closeModal() {
modal.style.display ="none";
addScroll();
}
var projectIndex =1;
showProjects(projectIndex);
function nextProject(n) {
showProjects(projectIndex+=n);
}
function currentProject(n) {
showProjects(projectIndex=n);
}
function showProjects(n) {
var i;
var projects = document.getElementsByClassName("projects");
if (n>projects.length) {
projectIndex =1
}
if (n<1) {
projectIndex= projects.length
}
for (i=0;i<projects.length; i++) {
projects[i].style.display = "none";
}
projects[projectIndex-1].style.display ="block";
modalContent.scrollTop = 0;
}
// Prevent bodyscrolling
function noScroll() {
body.classList.add("noScroll");
}
//Enables bodyscrolling
function addScroll() {
body.classList.remove("noScroll");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.