Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.02.2015, 22:53
Интересующийся
Отправить личное сообщение для SkyLaGer Посмотреть профиль Найти все сообщения от SkyLaGer
 
Регистрация: 17.05.2014
Сообщений: 10

Сделать проверки в JS
Доброго времени суток!

Недавно нашел данный скрипт и начал его использовать для создания простого сайта.
Но в процессе мне потребовалось изменить данный скрипт для удобства работы, но я 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. Исходник общий я прикрепил
Вложения:
Тип файла: zip html5_history_api.zip (1.6 Кб, 0 просмотров)

Последний раз редактировалось SkyLaGer, 18.02.2015 в 01:11.
Ответить с цитированием
  #2 (permalink)  
Старый 18.02.2015, 01:27
Интересующийся
Отправить личное сообщение для SkyLaGer Посмотреть профиль Найти все сообщения от SkyLaGer
 
Регистрация: 17.05.2014
Сообщений: 10

Хотя лучше даже так...
Как сделать проверку тут еще на существование элемента? id?

Просто появилась такая мысль...
Например вот ссылка идет с использованием AJAX:
<a href="/">Main AJAX</a>


А вот такая без AJAX:
<a href="/" id="noajax">Main NOAJAX</a>
Ответить с цитированием
  #3 (permalink)  
Старый 18.02.2015, 03:26
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

$(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');
    });
});
Ответить с цитированием
  #4 (permalink)  
Старый 18.02.2015, 04:07
Интересующийся
Отправить личное сообщение для SkyLaGer Посмотреть профиль Найти все сообщения от SkyLaGer
 
Регистрация: 17.05.2014
Сообщений: 10

Ruslan_xDD, Благодарю!
Ответить с цитированием
  #5 (permalink)  
Старый 18.02.2015, 04:20
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от SkyLaGer
А вот такая без AJAX
Одна единственная на странице? id можно только единожды на странице использовать.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #6 (permalink)  
Старый 18.02.2015, 07:58
Интересующийся
Отправить личное сообщение для SkyLaGer Посмотреть профиль Найти все сообщения от SkyLaGer
 
Регистрация: 17.05.2014
Сообщений: 10

Сообщение от danik.js Посмотреть сообщение
Одна единственная на странице? id можно только единожды на странице использовать.
На главной одна, но на других нет, не одна.
А как тогда поступить?
Ответить с цитированием
  #7 (permalink)  
Старый 18.02.2015, 16:19
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

SkyLaGer, используй rel="noajax".
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать свой слайдер на чистом js? sashka7onoff Элементы интерфейса 15 10.07.2017 23:35
Кнопка старт/стоп в js как сделать? Александр_1997 Events/DOM/Window 12 07.02.2014 16:03
Сделать два js хака werty1001 Работа 1 07.01.2013 05:28
Как сделать так, чтобы JS при нажатии на кнопку не выполняла запрос со страницы. JSProgrammer Элементы интерфейса 3 18.05.2010 20:18
Вставка блока php в js...Как сделать? reup Общие вопросы Javascript 2 30.07.2009 11:02