使用 jQuery slideUp() 动画的页面导航
Page navigation using jQuery slideUp() animation
我正在尝试使用 jQuery 创建一个多页面导航,当我们更改页面时,当前页面将遭受 slideUp() 并消失。
直到现在我有这个 JS:
$(document).ready(function() {
current = "#div1";
$("#btn1").click(function() {
if (current != "#div1") {
$(current).slideUp("slow");
current = "#div1";
}
});
$("#btn2").click(function() {
if (current != "#div2") {
$(current).slideUp("slow");
current = "#div2";
}
});
$("#btn3").click(function() {
if (current != "#div3") {
$(current).slideUp("slow");
current = "#div3";
}
});
});
运行 对此:http://jsfiddle.net/93gk3oyg/
我似乎无法正确地从第 1 页导航到第 3 页,从第 3 页导航到第 2 页,等等...
任何帮助将不胜感激:)
我对您的代码进行了一些重构。实际上,我没有使用任何向上滑动功能,所有内容都是使用 CSS 动画处理的,这意味着您稍后可以将它们更改为其他内容。另请注意,这意味着您真的不需要弄乱 z-index。
HTML:
<div id="menu">
<button class="btn" id="btn1" data-rel-page="div1">Pag1</button>
<button class="btn" id="btn2" data-rel-page="div2">Pag2</button>
<button class="btn" id="btn3" data-rel-page="div3">Pag3</button>
<button class="btn" id="btn4" data-rel-page="div4">Pag4</button>
</div>
<div id="div1" class="fullscreen active">
<center>HOME</center>
</div>
<div id="div2" class="fullscreen">
<center>PAGE2</center>
</div>
<div id="div3" class="fullscreen">
<center>PAGE3</center>
</div>
<div id="div4" class="fullscreen">
<center>PAGE4</center>
</div>
JS:
$(document).ready(function () {
var current = "div1";
$("[data-rel-page]").bind('click', function (evt) {
var el = $(evt.currentTarget).attr('data-rel-page');
if (el === current) return;
var $el = $("#" + el);
var $cur = $("#" + current);
current = el;
$cur.removeClass('active');
$el.addClass('active');
})
});
CSS:
.fullscreen {
transition: all 0.4s linear;
position: fixed;
bottom: 0px;
left: 0px;
right: 0px;
height: 0%;
overflow: hidden;
}
.fullscreen.active {
display: block;
height: 100%;
}
这是fiddle:http://jsfiddle.net/93gk3oyg/9/
我正在尝试使用 jQuery 创建一个多页面导航,当我们更改页面时,当前页面将遭受 slideUp() 并消失。
直到现在我有这个 JS:
$(document).ready(function() {
current = "#div1";
$("#btn1").click(function() {
if (current != "#div1") {
$(current).slideUp("slow");
current = "#div1";
}
});
$("#btn2").click(function() {
if (current != "#div2") {
$(current).slideUp("slow");
current = "#div2";
}
});
$("#btn3").click(function() {
if (current != "#div3") {
$(current).slideUp("slow");
current = "#div3";
}
});
});
运行 对此:http://jsfiddle.net/93gk3oyg/
我似乎无法正确地从第 1 页导航到第 3 页,从第 3 页导航到第 2 页,等等...
任何帮助将不胜感激:)
我对您的代码进行了一些重构。实际上,我没有使用任何向上滑动功能,所有内容都是使用 CSS 动画处理的,这意味着您稍后可以将它们更改为其他内容。另请注意,这意味着您真的不需要弄乱 z-index。 HTML:
<div id="menu">
<button class="btn" id="btn1" data-rel-page="div1">Pag1</button>
<button class="btn" id="btn2" data-rel-page="div2">Pag2</button>
<button class="btn" id="btn3" data-rel-page="div3">Pag3</button>
<button class="btn" id="btn4" data-rel-page="div4">Pag4</button>
</div>
<div id="div1" class="fullscreen active">
<center>HOME</center>
</div>
<div id="div2" class="fullscreen">
<center>PAGE2</center>
</div>
<div id="div3" class="fullscreen">
<center>PAGE3</center>
</div>
<div id="div4" class="fullscreen">
<center>PAGE4</center>
</div>
JS:
$(document).ready(function () {
var current = "div1";
$("[data-rel-page]").bind('click', function (evt) {
var el = $(evt.currentTarget).attr('data-rel-page');
if (el === current) return;
var $el = $("#" + el);
var $cur = $("#" + current);
current = el;
$cur.removeClass('active');
$el.addClass('active');
})
});
CSS:
.fullscreen {
transition: all 0.4s linear;
position: fixed;
bottom: 0px;
left: 0px;
right: 0px;
height: 0%;
overflow: hidden;
}
.fullscreen.active {
display: block;
height: 100%;
}
这是fiddle:http://jsfiddle.net/93gk3oyg/9/