0 Пользователей и 1 Гость просматривают эту тему.
  • 43 Ответов
  • 1851 Просмотров
*

voland

  • Легенда
  • 11030
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Делал такой модуль. На базе скриптов UIKit (с возможностью подключения этих скриптов из модуля)
Оглавление заполняется вручную, т.к заголовки могут быть очень длинными и тупо вставлять 3-х этажный пункт - не очень ...
Демо тут http://demo.wantweb.ru/anchor-list/ancholist-default
До продакшн не доводил, документацию еще не писал.
Если кому из разработчиков интересно покопаться/доработать - скину в личку
а где он там?
Не увидел.

Зы. Я с мобилки
*

fbr

  • Завсегдатай
  • 1625
  • 189 / 7
на мобилке вывод отключен
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
ну тут из фич только автоподсветка при скроле, а вот ручное забивание оглавление - мимо кассы, имхо.
так что проще подсветку содрать, остальное вроде уже пашет :)
*

fbr

  • Завсегдатай
  • 1625
  • 189 / 7
Делал автоматическое оглавление, не понравилось. Вместо лаконичного пункта - трехэтажный заголовок, как писал выше.
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
ну так это разные варианты использования.
если кто-то захочет запихать 10 страниц текста, то оглавление делать - застрелишься )
а вообще не проблема прикрутить проверку на атрибут datа и брать из него короткое значение и будет комбинированный вариант )
*

fbr

  • Завсегдатай
  • 1625
  • 189 / 7
Согласен)
Просто он у меня не доделанный ...
Можно дать выбор ручное/автомат
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
да не, просто делать проверку на наличие data-shortname и брать оттуда, и будет по красоте. только самые длинные укорачивать надо будет
зы
а я вот доделаю и захвачу мир! АХАХАХА! :)
*

fbr

  • Завсегдатай
  • 1625
  • 189 / 7

блин, доделать а потом поддерживать ... 10 раз подумаешь))
*

Lovrentiy

  • Захожу иногда
  • 97
  • 0 / 2
собрал бетку, вечером тему создам для тестеров )

А не подскажешь, от чего у меня плавыный скролл к якорю из модуля не отрабатывает? А в тексте отрабатывает

Повторно код скролла:
Код
$(document).ready(function() {
    $("a.scroll_p").click(function () {
        var elementClick = $(this).attr("href");
        var destination = $(elementClick).offset().top;
        $('html,body').animate( { scrollTop: destination }, 1100 );
        return false;
    });
});


Создание заголовка:
Код
(function($)
{
    $(document).ready(function()
    {

        var ToC =
            "<nav role='navigation' class='table-of-contents'>" +
            "<h2>Оглавление документа:</h2>" +
            "<ul>";

        var newLine, el, title, link;
        count=0;
        $('.item-page').find('h3, h4, h5, h6').each(function() { // выбираем нужные заголовки
            cls=$(this).prop("tagName").toLowerCase(); // получаем имена тегов, чтобы сделать выделить вложенные теги лесенкой

            $(this).attr('id', "mytoc" + count);
            el = $(this);
            title = el.text();
            // link = "#" + el.attr("id");
            link = "#mytoc" + count;
            count++;

            newLine =
                "<li class='pad_" + cls + "' >" +
                "<a class='scroll_p' href='" + link + "'>" +
                title +
                "</a>" +
                "</li>";

            ToC += newLine;

        });

        ToC +=
            "</ul>" +
            "</nav>";

        $(".all-questions").prepend(ToC);


    })
})(jQuery);

путешествие заголовка за пользователем:
Код
$(function() {
        var offset = $("#fixed").offset();
        var topPadding = 15;
        $(window).scroll(function() {
            if ($(window).scrollTop() > offset.top) {
                $("#fixed").stop().animate({marginTop: $(window).scrollTop() - offset.top + topPadding});
            }
            else {$("#fixed").stop().animate({marginTop: 0});};});
});

$(function() {

    $(window).scroll(function() {

        if($(this).scrollTop()!= 0) {

            $('#toTop').fadeIn();

        } else {

            $('#toTop').fadeOut();

        }

    });

    $('#toTop').click(function() {

        $('body,html').animate({scrollTop:0},800);

    });

});
*

Lovrentiy

  • Захожу иногда
  • 97
  • 0 / 2
А не подскажешь, от чего у меня плавыный скролл к якорю из модуля не отрабатывает? А в тексте отрабатывает

Повторно код скролла:
Код
$(document).ready(function() {
    $("a.scroll_p").click(function () {
        var elementClick = $(this).attr("href");
        var destination = $(elementClick).offset().top;
        $('html,body').animate( { scrollTop: destination }, 1100 );
        return false;
    });
});


Создание оглавления:
Код
(function($)
{
    $(document).ready(function()
    {

        var ToC =
            "<nav role='navigation' class='table-of-contents'>" +
            "<h2>Оглавление документа:</h2>" +
            "<ul>";

        var newLine, el, title, link;
        count=0;
        $('.item-page').find('h3, h4, h5, h6').each(function() { // выбираем нужные заголовки
            cls=$(this).prop("tagName").toLowerCase(); // получаем имена тегов, чтобы сделать выделить вложенные теги лесенкой

            $(this).attr('id', "mytoc" + count);
            el = $(this);
            title = el.text();
            // link = "#" + el.attr("id");
            link = "#mytoc" + count;
            count++;

            newLine =
                "<li class='pad_" + cls + "' >" +
                "<a class='scroll_p' href='" + link + "'>" +
                title +
                "</a>" +
                "</li>";

            ToC += newLine;

        });

        ToC +=
            "</ul>" +
            "</nav>";

        $(".all-questions").prepend(ToC);


    })
})(jQuery);

путешествие оглавления за пользователем:
Код
$(function() {
        var offset = $("#fixed").offset();
        var topPadding = 15;
        $(window).scroll(function() {
            if ($(window).scrollTop() > offset.top) {
                $("#fixed").stop().animate({marginTop: $(window).scrollTop() - offset.top + topPadding});
            }
            else {$("#fixed").stop().animate({marginTop: 0});};});
});

$(function() {

    $(window).scroll(function() {

        if($(this).scrollTop()!= 0) {

            $('#toTop').fadeIn();

        } else {

            $('#toTop').fadeOut();

        }

    });

    $('#toTop').click(function() {

        $('body,html').animate({scrollTop:0},800);

    });

});
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
поезд с крутым плагином уехал туда >> :)

ещё игра есть: Космиченские рейджеры.
харе флудить!
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Генерация статей по расписанию

Автор zazar

Ответов: 12
Просмотров: 843
Последний ответ 07.04.2018, 12:26:37
от fsv
Существует ли работающий плагин для автоматического создания оглавления?

Автор Bahus

Ответов: 6
Просмотров: 788
Последний ответ 01.10.2017, 19:03:43
от Bahus
Кнопка прокрутки страницы в МОДУЛЕ

Автор b4zic

Ответов: 1
Просмотров: 820
Последний ответ 22.07.2017, 23:09:14
от yandex_hb
Плагин для создания оглавления в статья по тегам

Автор Victor333

Ответов: 2
Просмотров: 727
Последний ответ 25.04.2017, 22:00:48
от effrit
Размещение нескольких изображений в материале Joomla 3

Автор Prtoy

Ответов: 11
Просмотров: 1515
Последний ответ 07.02.2017, 15:40:03
от SeBun