Что нового

Спойлер

Svayke

Посетитель
Регистрация
30 Дек 2024
Сообщения
78
Реакции
10
Ребят подскажите пожалуйста как ускорить открытие спойлера в DLE 16, в гуглах всяких только старые версии, 9+, 10+. Ищу такие строчки в 16 - не нахожу. Мб кто-то сталкивался, чтобы ускорить открытие/закрытие спойлера, буду благодарен за подсказку.
 
файл dle_js.js, функция ShowOrHide, переменная scrolltime, значение 250 мс
Код:
function ShowOrHide( id ) {

    var item = $("#" + id);
    var image = null;

    if ( document.getElementById('image-'+ id) ) {

        image = document.getElementById('image-'+ id);

    }

    if (jQuery().lazyLoadXT) {
        $('#' + id + ' *[data-src]').lazyLoadXT();
    }

    var scrolltime = (item.height() / 200) * 1000;

    if (scrolltime > 3000 ) { scrolltime = 3000; }

    if (scrolltime < 250 ) { scrolltime = 250; }

    if (item.css("display") == "none") {

        item.show('blind',{}, scrolltime );

        if (image) { image.src = dle_root + 'templates/'+ dle_skin + '/dleimages/spoiler-minus.gif';}

    } else {

        if (scrolltime > 2000 ) { scrolltime = 2000; }

        item.hide('blind',{}, scrolltime );
        if (image) { image.src = dle_root + 'templates/'+ dle_skin + '/dleimages/spoiler-plus.gif';}
    }

};
 
файл dle_js.js, функция ShowOrHide, переменная scrolltime, значение 250 мс
Код:
function ShowOrHide( id ) {

    var item = $("#" + id);
    var image = null;

    if ( document.getElementById('image-'+ id) ) {

        image = document.getElementById('image-'+ id);

    }

    if (jQuery().lazyLoadXT) {
        $('#' + id + ' *[data-src]').lazyLoadXT();
    }

    var scrolltime = (item.height() / 200) * 1000;

    if (scrolltime > 3000 ) { scrolltime = 3000; }

    if (scrolltime < 250 ) { scrolltime = 250; }

    if (item.css("display") == "none") {

        item.show('blind',{}, scrolltime );

        if (image) { image.src = dle_root + 'templates/'+ dle_skin + '/dleimages/spoiler-minus.gif';}

    } else {

        if (scrolltime > 2000 ) { scrolltime = 2000; }

        item.hide('blind',{}, scrolltime );
        if (image) { image.src = dle_root + 'templates/'+ dle_skin + '/dleimages/spoiler-plus.gif';}
    }

};
спасибо. ток строчка вот эта: var scrolltime = (item.height() / 200) * 1000;
увеличил 200 все заработало)
 
спасибо. ток строчка вот эта: var scrolltime = (item.height() / 200) * 1000;
увеличил 200 все заработало)
да нз, можно и так, если у вас все спойлеры будут высотой < 50px, иначе условие if (scrolltime < 250 ) { scrolltime = 250; } не сработает и анимация увеличится.
 
да нз, можно и так, если у вас все спойлеры будут высотой < 50px, иначе условие if (scrolltime < 250 ) { scrolltime = 250; } не сработает и анимация увеличится.
ну пока что всё открывается очень шустро. Те условия, которые вы сказали никак не повлияли на спойлер, не знаю почему)
 
ну пока что всё открывается очень шустро. Те условия, которые вы сказали никак не повлияли на спойлер, не знаю почему)
Я хотел сказать, что с увеличением делителя будет увеличиваться мин. высота спойлера, попадающего под ограничение в 250 мс, если не критично, то все ок.)
 
Верх