Я использую.load для переключения содержимого в div #content, но когда я нажимаю на ссылку, она выводит меня на белую страницу с надписью "can not get/index" или что-то еще. Начальное содержимое загружается, поэтому я знаю первые три строки работы кода. Любые идеи, почему я не могу получить другие мои файлы?
Здесь мой HTML
<div id="nav">
<ul>
<li><a href="index">Home</a></li>
<li><a href="portfolio">Portfolio</a></li>
<li><a href="about">About</a></li>
</ul>
</div>
И JQuery
$(document).ready(function() {
// initial
$('#content').load('content/index.html');
// handle menu clicks
$('ul#nav li a').click(function() {
var page = $(this).attr('href');
$('#content').load('content/' + page + '.html');
return false;
});
});
Вот ответ -
$(document).ready(function() {
// initial
$('#content').load('content/index.html');
// handle menu clicks
$('div#nav ul li a').click(function() {
var page = $(this).attr('href');
$('#content').load('content/' + page + '.html');
return false;
});
});
В скором времени #nav
является идентификатором div
не ul
поэтому $('ul#nav li a').
должно быть $('div#nav ul li a').
точнее $('div#nav > ul > li > a').
Если вы хотите, чтобы анимация была похожа на Fade, попробуйте это -
$('div#nav ul li a').click(function() {
var page = $(this).attr('href');
$('#content').fadeOut('fast', function(){
$('#content').load('content/' + page + '.html', function(){
$('#content').fadeIn('fast');
});
});
return false;
});
Но для скользящей анимации это будет немного сложно, потому что вам нужно что-то делать -
left
left
чтобы он снова скользил влево.Это даст вам пространство между анимациями, но если вы хотите безразличную анимацию, вам придется использовать больше div и немного больше логик. Счастливые эксперименты.. :)
Согласно вашему правлению
У вас неправильный селектор jQuery, это должно быть -
$('#nav ul li a').click...
return false;
из кода должен позаботиться об этой проблеме
Когда содержимое загружается динамически, действия над элементами html не будут улавливаться прямой.click() function So:
Используйте $(document).on('click', 'ul#nav li a', function() {
Вместо $('ul#nav li a').click(function() {
Это работало для меня
Portfolio.html
илиportfolio.html
?F12
в браузере, чтобы вызвать инструменты разработки.