あなたのウェブサイトの元には、AJAXの効果を得るために、本当に古い学校のJavascriptを使っていることがわかりました。あなたのウェブサイトに必要な先進的なJavascriptの必要性があるという事実を念頭に置いて現在の要求を念頭に置き、jQueryをチェックアウトすることをお勧めします。 )あなたの方法に:その後、
<ul id='menu'>
<li><a href="pages/Home.html" class="home"><span>Home</span></a></li>
<li><a href="pages/About.html" class="about"><span>About</span></a></li>
<li><a href="pages/Services.html" class="services"><span>Services</span></a></li>
<li><a href="pages/Portfolio.html" class="portfolio"><span>Portfolio</span></a></li>
<li><a href="pages/Contact.html" class="contact"><span>Contact</span></a></li>
</ul>
そして、あなたはこれでJavascriptのためにあなたが持っているmontrocityに代わっ:
$(function() {
$('a', '#menu').click(function() { // when someone clicks on a menu link...
// get the page contained in the links href attribute....
$.get($(this).attr('href'), function(html) {
// once the content is here, animate the content div...
$('#MainContent').animate({
height: '20px' // make the div smaller....
}, 'fast', function() {
// when it is all the way down, update the div with the new
// html, and animate it back up....
$(this).html(html).animate({
height: 'auto'
}, 'fast');
});
});
return false;
});
});
これはあなたのウェブサイトを行います:
- jQueryが非互換性を抽象化するため、ブラウザ間の互換性が向上しました。
- 標準/ベストプラクティスに準拠しています(つまり、インラインJavaScriptはありません)
- Javascriptが無効になっているユーザーがアクセスしやすくなっています。今のようにJavascriptを有効にしていないと(人の5%)、メニューリンクをクリックしても何も起こりません。このソリューションでは少なくともページのコンテンツが表示されますが、リクエストがJavascriptから来ていない場合はページ全体が表示されるようにサーバー側のコードを作成することもできます。