【发布时间】:2014-09-22 11:19:32
【问题描述】:
编辑:我已经删除了 fadeIn 中的新页面,因为我认为这让人们感到困惑。我希望新页面淡入。
我写了一个小网站,它作为一个页面运行,同时看起来像一个传统网站。我基本上想做的是拥有基本要素,即。导航、徽标、页脚等固定到视口,并选择导航将链接到的锚点。这一切都很好,但现在尝试对其进行动画处理时遇到了一些困难。
这是我正在使用的 HTML 标记:
<div id="wrap">
<ul id="nav">
<li><a class="start" href="#link1">Page 1</a></li>
<li><a class="start" href="#link2">Page 2</a></li>
<li><a class="start" href="#link3">Page 3</a></li>
<li><a class="start" href="#link4">Page 4</a></li>
</ul>
<div class="contents">
<div id="page" class="page1">
<a class="finish" name="link1">page1</a>
</div>
<div id="page" class="page2">
<a class="finish" name="link2">page2</a>
</div>
<div id="page" class="page3">
<a class="finish" name="link3">page3</a>
</div>
<div id="page" class="page4">
<a class="finish" name="link4">page4</a>
</div>
</div>
</div>
还有 CSS:
html, body {
margin: 0;
padding: 0;
overflow-x: hidden;
}
#nav {
position: fixed;
width: 100%;
margin-left: 80%;
z-index: 999;
}
li {
display: inline;
}
#wrap {
width: 400%;
height: 100%;
}
#page {
width: 25%;
height: 100%;
float: left;
}
.page1 {
background-color: blue;
}
.page2 {
background-color: red;
}
.page3 {
background-color: grey;
}
.page4 {
background-color: white;
}
.finish {
opacity: 0;
float: right;
width: 100%;
height: 100%;
}
现在这一切都可以在没有 Jquery 的情况下完美运行,它直接进入链接页面。 这里的 Jquery 与 .contents 容器一起工作。
$(document).ready(function() {
//On page load, .contents will be hidden for a clean fadIn animation. WORKING
$('.contents').css('display', 'none');
$('.contents').fadeIn(1000);
//Clicking any nav link will initiate animation.
$('.start').click(function(event) {
//Stops default action of going straight to anchor.
event.preventDefault();
newLocation = this.href;
//newpage on fadeOut activate as seen in the url bar but not returning there on fadeIn.
$('.contents').fadeOut(1000, newpage);
//newpage on fadeIn is a debug to test of page will return to newlacation. Works but after animations finished.
$('.contents').fadeIn(1000);
});
function newpage() {
window.location = newLocation;
}
});
我不确定还可以尝试什么。我能想到的唯一一件事是,完整的回调被 fadeOut 窃听。
【问题讨论】:
-
请解释一下你想在这里做什么?测试代码似乎令人困惑:)
-
我正在尝试通过淡出、切换到下一页和淡入来在页面之间转换。
标签: jquery html css fadein fadeout