提问人:sql 提问时间:11/13/2023 最后编辑:sql 更新时间:11/14/2023 访问量:66
在 Javascript 中处理切换页面的正确命令行是什么
What is the right command-line to deal with switching pages in Javascript
问:
我正在做一个课堂项目,我创建了一个应用程序,您可以通过单击图标导航到下一页,类似于应用程序的工作方式。当我单击主页图标两次时,它会将我带到不应该发生的第 2 页。我希望它在哪里,当你点击主页图标时,它会进入主页,当你点击搜索时,它会像应用程序一样进入搜索,但是当我点击图标 2 次时,它会显示另一个页面。我将添加一个视频,以便您可以看到它的实际效果以及共享我的代码。我是所有这些的新手,可能需要一些帮助。如果有人愿意直接给我发消息并提供帮助,我们将不胜感激。在此过程中,我可能会有一些问题。谢谢!
这是 HTML
<!-- Icons at the bottom for navigation -->
<div class="bottom-container">
<div class="bottom-icons">
<div class="icon" onclick="showHomePage()">
<img src="images/homepagepng.png" alt="Home Icon" class="icon1-img" />
</div>
<div class="icon" onclick="showSearchPage()">
<img src="images/searchpng.png" alt="Search Icon" class="icon1-img" />
</div>
<div class="icon" onclick="showPostPage()">
<img src="images/post.png" alt="Post Icon" class="icon1-img" />
</div>
<div class="icon" onclick="showNotificationsPage()">
<img src="images/notificationpng.png" alt="Notifications Icon" class="icon1-img" />
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Search Page -->
<div class="app" id="search-content" style="display: none;">
<div class="app-wrapper">
<div class="header">
<div class="subtitle">Search your favorite creators</div>p
<div class="bottom-container">
<div class="bottom-icons">
<div class="icon" onclick="showHomePage()">
<img src="images/homepagepng.png" alt="Home Icon" class="icon1-img" />
</div>
<div class="icon" onclick="showSearchPage()">
<img src="images/searchpng.png" alt="Search Icon" class="icon1-img" />
</div>
<div class="icon" onclick="showPostPage()">
<img src="images/post.png" alt="Post Icon" class="icon1-img" />
</div>
<div class="icon" onclick="showNotificationsPage()">
<img src="images/notificationpng.png" alt="Notifications Icon" class="icon1-img" />
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Post Page -->
<div class="app" id="post-content" style="display: none;">
<div class="app-wrapper">
<div class="header">
<div class="subtitle">Posting Page</div>
<div class="bottom-container">
<div class="bottom-icons">
<div class="icon" onclick="showHomePage()">
<img src="images/homepagepng.png" alt="Home Icon" class="icon1-img" />
</div>
<div class="icon" onclick="showSearchPage()">
<img src="images/searchpng.png" alt="Search Icon" class="icon1-img" />
</div>
<div class="icon" onclick="showPostPage()">
<img src="images/post.png" alt="Post Icon" class="icon1-img" />
</div>
<div class="icon" onclick="showNotificationsPage()">
<img src="images/notificationpng.png" alt="Notifications Icon" class="icon1-img" />
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Notifications Page -->
<div class="app" id="notifications-content" style="display: none;">
<div class="app-wrapper">
<div class="header">
<div class="subtitle">Notifications Page</div>
<div class="bottom-container">
<div class="bottom-icons">
<div class="icon" onclick="showHomePage()">
<img src="images/homepagepng.png" alt="Home Icon" class="icon1-img" />
</div>
<div class="icon" onclick="showSearchPage()">
<img src="images/searchpng.png" alt="Search Icon" class="icon1-img" />
</div>
<div class="icon" onclick="showPostPage()">
<img src="images/post.png" alt="Post Icon" class="icon1-img" />
</div>
<div class="icon" onclick="showNotificationsPage()">
<img src="images/notificationpng.png" alt="Notifications Icon" class="icon1-img" />
</div>
</div>
</div>
</div>
</div>
</div>
这是 Js
<script>
var currentPageId = '';
function switchPage(pageId) {
if (currentPageId !== pageId) {
var pages = document.getElementsByClassName('app');
for (var i = 0; i < pages.length; i++) {
pages[i].style.display = 'none';
}
var selectedPage = document.getElementById(pageId);
if(statment) {
selectedPage.style.display = 'flex';
currentPageId = pageId;
}
}
}
function showHomePage() {
switchPage('home-content');
}
function showSearchPage() {
switchPage('search-content');
}
function showPostPage() {
switchPage('post-content');
}
function showNotificationsPage() {
switchPage('notifications-content');
}
function submitPost() {
alert("Post submitted!");
showHomePage();
}
</script>
现在这是我认为搞砸了它的 javascript 代码
希望有人能找到它这样做的原因 我还尝试将if(statement)也做了同样的事情 这里还有一个视频 https://streamable.com/xx5fd9
我还尝试将if(statement)也做了同样的事情
答:
0赞
hcharles25
11/13/2023
#1
要简单地使用 javascript 重定向浏览器:
window.location.href = "http://example.com/new_url";
要重定向并提交表单(即登录详细信息),不需要 javascript:
<form action="/new_url" method="POST">
<input name="username">
<input type="password" name="password">
<button type="submit">Submit</button>
</form>
或者你可以使用
window.open(stringURL);
以在新窗口中打开 HTML。
要打开新标签页,请执行以下操作:
window.open(stringURL, “_blank”);
评论
0赞
sql
11/13/2023
嘿,但我试图将我的所有代码保存在一个文件上,而不是另一个 HTLM 文件
0赞
hcharles25
11/13/2023
@sql,你为什么在里面写“声明”?请像这样修复var selectedPage = document.getElementById(pageId); if(statment) {
if (selectedPage) { selectedPage.style.display = 'block'; currentPageId = pageId; }
0赞
sql
11/13/2023
再一次,我是所有这些 NGL 的新手,当我打电话给某人时,他们告诉我要写声明
0赞
sql
11/13/2023
如果您知道如何解决正在发生的事情,请帮助我在 2 天内完成这项工作
0赞
hcharles25
11/13/2023
statement
在此上下文中未定义。如果有人这样说,那么这意味着目标元素语句。我的意思是你可以像这样修复var statement = document.getElementById(pageId); if(statment) { selectedPage.style.display = 'flex'; currentPageId = pageId; }
1赞
Pranav Rustagi
11/14/2023
#2
这能解决问题吗?
var currentPageId = 'home-content';
function switchPage(pageId) {
if (currentPageId !== pageId) {
var pages = document.getElementsByClassName('app');
for (var i = 0; i < pages.length; i++) {
pages[i].style.display = 'none';
}
var selectedPage = document.getElementById(pageId);
if (selectedPage) {
selectedPage.style.display = 'flex';
currentPageId = pageId;
}
}
}
function showHomePage() {
switchPage('home-content');
}
function showSearchPage() {
switchPage('search-content');
}
function showPostPage() {
switchPage('post-content');
}
function showNotificationsPage() {
switchPage('notifications-content');
}
function submitPost() {
alert("Post submitted!");
showHomePage();
}
<!-- Home Page -->
<div class="app" id="home-content">
<div class="app-wrapper">
<div class="header">
<div class="subtitle">Home page</div>
<div class="bottom-container">
<div class="bottom-icons">
<div class="icon" onclick="showHomePage()">
<img src="images/homepagepng.png" alt="Home Icon" class="icon1-img" />
</div>
<div class="icon" onclick="showSearchPage()">
<img src="images/searchpng.png" alt="Search Icon" class="icon1-img" />
</div>
<div class="icon" onclick="showPostPage()">
<img src="images/post.png" alt="Post Icon" class="icon1-img" />
</div>
<div class="icon" onclick="showNotificationsPage()">
<img src="images/notificationpng.png" alt="Notifications Icon" class="icon1-img" />
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Search Page -->
<div class="app" id="search-content" style="display: none;">
<div class="app-wrapper">
<div class="header">
<div class="subtitle">Search your favorite creators</div>
<div class="bottom-container">
<div class="bottom-icons">
<div class="icon" onclick="showHomePage()">
<img src="images/homepagepng.png" alt="Home Icon" class="icon1-img" />
</div>
<div class="icon" onclick="showSearchPage()">
<img src="images/searchpng.png" alt="Search Icon" class="icon1-img" />
</div>
<div class="icon" onclick="showPostPage()">
<img src="images/post.png" alt="Post Icon" class="icon1-img" />
</div>
<div class="icon" onclick="showNotificationsPage()">
<img src="images/notificationpng.png" alt="Notifications Icon" class="icon1-img" />
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Post Page -->
<div class="app" id="post-content" style="display: none;">
<div class="app-wrapper">
<div class="header">
<div class="subtitle">Posting Page</div>
<div class="bottom-container">
<div class="bottom-icons">
<div class="icon" onclick="showHomePage()">
<img src="images/homepagepng.png" alt="Home Icon" class="icon1-img" />
</div>
<div class="icon" onclick="showSearchPage()">
<img src="images/searchpng.png" alt="Search Icon" class="icon1-img" />
</div>
<div class="icon" onclick="showPostPage()">
<img src="images/post.png" alt="Post Icon" class="icon1-img" />
</div>
<div class="icon" onclick="showNotificationsPage()">
<img src="images/notificationpng.png" alt="Notifications Icon" class="icon1-img" />
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Notifications Page -->
<div class="app" id="notifications-content" style="display: none;">
<div class="app-wrapper">
<div class="header">
<div class="subtitle">Notifications Page</div>
<div class="bottom-container">
<div class="bottom-icons">
<div class="icon" onclick="showHomePage()">
<img src="images/homepagepng.png" alt="Home Icon" class="icon1-img" />
</div>
<div class="icon" onclick="showSearchPage()">
<img src="images/searchpng.png" alt="Search Icon" class="icon1-img" />
</div>
<div class="icon" onclick="showPostPage()">
<img src="images/post.png" alt="Post Icon" class="icon1-img" />
</div>
<div class="icon" onclick="showNotificationsPage()">
<img src="images/notificationpng.png" alt="Notifications Icon" class="icon1-img" />
</div>
</div>
</div>
</div>
</div>
</div>
评论
0赞
Pranav Rustagi
11/14/2023
@sql 如果您还想实现其他目标,请告诉我。除此之外,这里还有很多多余的代码,你可以清理。让我知道你想这样做。
评论