gpt4 book ai didi

javascript - 使用javascript根据当前页面ID返回单页站点中下一个 "page"的ID

转载 作者:太空宇宙 更新时间:2023-11-04 03:22:00 25 4
gpt4 key购买 nike

我正在创建一个简单的网站,该网站应该有多个页面显示不同的背景和主要文本,但具有相同的 Logo 和菜单。按下按钮时,下一页应从右侧滑入,从菜单中选择页面应直接过渡到该页面。我已决定将其制作成一个单页站点以利用 CSS3 转换。下一个按钮(减去转换)的示例代码在这里:http://jsfiddle.net/xoa029jz/1/

我目前正在使用以下 javascript 确定要显示的背景和文本:

function getNextPage(pageid) {
if (pageid == "page-1") {
return $('#page-2');
} else if (pageid == "page-2") {
return $('#page-3');
} else if (pageid == "page-3") {
return $('#page-1');
}
}

该网站将有 7 个页面,所以这看起来很麻烦。有没有更好的方法在 javascript 中使用顺序 ID?

网站每个“页面”只有一张图片和一句话,所以我认为没有必要使用 Ajax,但我愿意在这一点上得到纠正。

最佳答案

在这种情况下您可以使用类,它不会为任何数量的页面绑定(bind)您,

function getNextPage(pageid) {
if($('.current-page').next('.page-text').length){
return $('.current-page').next('.page-text');
}
return $('.page-text:first');
}

function slideToNext() {
var currentPage = $('.current-page');
var nextPage = getNextPage(currentPage.attr('id'));

$(currentPage).removeClass('current-page');
$(nextPage).addClass('current-page');

var currentBackground = getCurrentBackground();
var nextBackground = getNextBackground(currentBackground);

$('#bg').removeClass(currentBackground);
$('#bg').addClass(nextBackground);
}

function getNextPage(pageid) {
if($('.current-page').next('.page-text').length){
return $('.current-page').next('.page-text');
}
return $('.page-text:first');
}

function getCurrentBackground() {
var bg = $('#bg');
if (bg.hasClass('bg-1')) {
return "bg-1";
} else if (bg.hasClass('bg-2')) {
return "bg-2";
} else if (bg.hasClass('bg-3')) {
return "bg-3";
}
}

function getNextBackground(bg) {
if (bg == "bg-1") {
return "bg-2";
} else if (bg == "bg-2") {
return "bg-3";
} else if (bg == "bg-3") {
return "bg-1";
}
}
.page {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
background-size: cover;
background-position: center center;
z-index:1;
}
.page-text {
margin-top: 71px;
display: none;
}
.current-page {
display: inline;
visibility: visible;
}
.bg-1 {
background-color:#D8F6CE;
}
.bg-2 {
background-color:#CEECF5;
}
.bg-3 {
background-color:#E2A9F3;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

<body class="page bg-1" id="bg">
<div id="page">
<img id="logo" src="images/logo.png" width="295" height="92" />
<div id="menu">
<ul>
<li>
<button>Page 1</button>
</li>
<li>
<button>Page 2</button>
</li>
<li>
<button>Page 3</button>
</li>
</ul>
</div>
<div class="page-text current-page" id="page1">Page 1 text</div>
<div class="page-text" id="page2">Page 2 text</div>
<div class="page-text" id="page3">Page 3 text</div>
<button type="button" onclick="slideToNext()">Next</button>
</div>
</body>

关于javascript - 使用javascript根据当前页面ID返回单页站点中下一个 "page"的ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27740783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com