Сделать проверки в JS
Вложений: 1
Доброго времени суток!
Недавно нашел данный скрипт и начал его использовать для создания простого сайта. Но в процессе мне потребовалось изменить данный скрипт для удобства работы, но я JS не знаю толком, точнее вообще не знаю. Можете тут вставить проверку, что бы при ссылке такого типа site.ru/index.php#id не происходило действий, если ссылка неизменна, если основная ссылка изменилась, то что бы перекинуло на новую страницу site.ru/photos.php#id При переходе на новую страницу что бы плавно поднимало вверх ($('html, body').animate({scrollTop:0});}); - данный код вставлял, но порой скрипт зацикливался и постоянно держало страницу вверху) Проверку на то, что ссылка ведет на картинку, если на картинку, то что бы по ajax не грузило И еще, если возможно, переход на страницу ошибки 404
<script>
$(document).ready(function() {
$('a').click(function() {
var url = $(this).attr('href');
$.ajax({
url: url + '?ajax=1',
success: function(data){
$('#content').html(data);
}
});
if(url != window.location){
window.history.pushState(null, null, url);
}
return false;
});
$(window).bind('popstate', function() {
$.ajax({
url: location.pathname + '?ajax=1',
success: function(data) {
$('#content').html(data);
}
});
});
});
</script>
P.S. Исходник общий я прикрепил |
Хотя лучше даже так...
Как сделать проверку тут еще на существование элемента? id? Просто появилась такая мысль... Например вот ссылка идет с использованием AJAX: <a href="/">Main AJAX</a> А вот такая без AJAX: <a href="/" id="noajax">Main NOAJAX</a> |
$(function() {
var content = $('#content');
content.on('click', 'a[href][id!="noajax"]', function() {
var url = this.href + (this.search.length > 1 ? '&' : '?') + 'ajax=1';
content.load(this.href + ' #content');
window.history.pushState(null, null, url);
return false;
});
window.addEventListener('popstate', function() {
content.load(this.location.href + ' #content');
});
});
|
Ruslan_xDD, Благодарю!
|
Цитата:
|
Цитата:
А как тогда поступить? |
SkyLaGer, используй rel="noajax".
|
| Часовой пояс GMT +3, время: 21:13. |