Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Сделать проверки в JS (https://javascript.ru/forum/misc/53779-sdelat-proverki-v-js.html)

SkyLaGer 17.02.2015 22:53

Сделать проверки в 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. Исходник общий я прикрепил

SkyLaGer 18.02.2015 01:27

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

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


А вот такая без AJAX:
<a href="/" id="noajax">Main NOAJAX</a>

ruslan_mart 18.02.2015 03:26

$(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');
    });
});

SkyLaGer 18.02.2015 04:07

Ruslan_xDD, Благодарю!

danik.js 18.02.2015 04:20

Цитата:

Сообщение от SkyLaGer
А вот такая без AJAX

Одна единственная на странице? id можно только единожды на странице использовать.

SkyLaGer 18.02.2015 07:58

Цитата:

Сообщение от danik.js (Сообщение 357069)
Одна единственная на странице? id можно только единожды на странице использовать.

На главной одна, но на других нет, не одна.
А как тогда поступить?

ruslan_mart 18.02.2015 16:19

SkyLaGer, используй rel="noajax".


Часовой пояс GMT +3, время: 16:19.