1
動的コンテンツ(Ajax)でjQueryを使用せずにページスライド遷移を試みています。最初はCSSで試してみたいと思っていましたが、私の試行はうまくいかず、誰もまだ私のCSS questionにこれに対処する方法がありません。Jqueryのないページスライド?
私はこれをJavaScriptでやってみることにしましたが、私は望むとクラスをロードできないようです。何かアドバイス?
私のデモの試み:Test Page
とコード:
のjavascript:
function pageSlide (n) {
var slide = document.getElementById(n);
if(slide.className === 'aniDown') {
slide.className = 'aniUp'; }
else if (slide.className === 'aniUp'){
slide.className = 'aniDown'; } }
function sectionAssure(classID) {
pageSlide(classID);
setTimeout(function () {
var tmp = '';
var sel = document.getElementsByTagName('section');
for (var i=0; i<sel.length; i++){
if (sel[i].id == classID) { tmp = 'block' } else { tmp = 'none' }
sel[i].style.display = tmp; }
pageSlide(classID); }, (1000));
}
CSS:
.aniDown {
z-index:0;
-webkit-animation-name: slideDown;
-webkit-animation-duration: 2s;
-webkit-animation-iteration-count: 1;
-webkit-animation-timing-function: ease;
-webkit-animation-direction:normal;
}
@-webkit-keyframes slideDown {
0% { margin-top:-3000px; }
40% { margin-top:-100px; }
100% { margin-top:0px; }
}
.saniUp {
-webkit-animation-name: slideUp;
-webkit-animation-duration: 2s;
-webkit-animation-iteration-count: 1;
-webkit-animation-timing-function: ease;
-webkit-animation-direction:normal;
}
@-webkit-keyframes slideUp {
0% {margin-top:0px;}
20% {margin-top:-1000px;}
100% {margin-top:-3000px;}
}
HTML5:
<header>
<nav id="headNav">
<ul>
<li><a href="#" onclick="checkPage('page1', 'home.html');return false">Home</a></li>
<li><a href="#" onclick="checkPage('page2', 'about.html');return false">About</a></li>
</ul>
</nav>
</header>
<!-- Content Areas: (Variable visual)-->
<div id="contentBody">
<br>
<section class="aniDown" id="page1">
<script>loadContent('page1','home.html');</script>
</section>
<section class="aniDown" id="page2"></section>
</div>
コンソールには、正しい順序で実行していると言われています。エラーはないようです。アクティブなバージョンにはこれを示すconsole.logがあります。 –
シュート!ちょうど私がclassIDと呼んでいることに気づいた。結局はうまくいけば、私は試してみてください。 –
Arrg、ちょうど私が.aniUpクラスでタイプミスをしていたことに気付きました。分を取るには、いくつかのことをやり直す必要があります。 –