Smoothstate.js: предотвращение перезагрузки заголовка, несмотря на то, что эти ссылки вызывают изменение страницы

smoothstate.js требует, чтобы ссылки, запускающие вызов ajax, находились внутри #main div, в котором находится обновляемый контент. Однако мне нужно, чтобы заголовок и ссылки, размещенные внутри, не использовались при обмене контентом, желательно только перезагрузить контент в указанном.content div.

Есть ли способ, используя smoothstate.js, предотвратить перезагрузку ссылок на заголовки, несмотря на требование, что они находятся внутри #main div, который обновляется?

У меня была идея отделить содержимое div от объекта $newContent, возвращенного в функции onReady. Однако, хотя я могу выделить указанный div, передать возвращенный объект в html не удастся.

(function header_init() {

    $('#main').smoothState({
        anchors: 'a',
        blacklist: '.no-ajax',
        prefetch: true,
        cacheLength: 4,
        repeatDelay: 500,

        onStart: {
            duration: 300,
            render: function ($container) {
                $('html').addClass('animate-page-out');
                $('html').removeClass('animate-page-in');
            }
        },
        onReady: {
            duration: 300,
            // `$container` is a `jQuery Object` of the current smoothState container
            // `$newContent` is a `jQuery Object` of the HTML that should replace the existing container's HTML.
            render: function ($container, $newContent) {

                // Update the HTML on the page
                var content = $($newContent).find('.main-content');
                console.log($newContent);
                console.log($(content));
                // $container.html($newContent);
                $('.main-content').html($(content));
            }
        },
        onAfter: function ($container, $newContent) {
            // after page loads, all scripts must be re-initialize to account for any new DOM items
            $('html').addClass('animate-page-in');
            $('html').removeClass('animate-page-out');
        }
    });
}());

0 ответов

Другие вопросы по тегам