Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.04.2017, 15:28
Аватар для LADYX
Профессор
Отправить личное сообщение для LADYX Посмотреть профиль Найти все сообщения от LADYX
 
Регистрация: 19.02.2015
Сообщений: 219

Где может быть ошибка в скрипте?
Добрый день! На странице есть ссылки, расположенные в одну строку. Этот скрипт прячет ссылки, которые при ресайзе выходят за пределы экрана, в отдельный блок.
$(document).ready(function() {
var $nav = $('.h__i');
var $btn = $('.h__i button');
var $vlinks = $('.h__i .visible-links');
var $hlinks = $('.h__i .hidden-links');
var breaks = [];
function updateNav() {
var availableSpace = $btn.hasClass('hidden') ? $nav.width() : $nav.width() - $btn.width() - 30;
    if($vlinks.width() > availableSpace) {
        breaks.push($vlinks.width());
        $vlinks.children().last().prependTo($hlinks);
    if($btn.hasClass('hidden')) {
        $btn.removeClass('hidden');
    }
    } else {
    if(availableSpace > breaks[breaks.length-1]) {
        $hlinks.children().first().appendTo($vlinks);
        breaks.pop();
    }
    if(breaks.length < 1) {
        $btn.addClass('hidden');
        $hlinks.addClass('hidden');
    }
    }
        $btn.attr("count", breaks.length);
    if($vlinks.width() > availableSpace) {
        updateNav();
    }
}
$(window).resize(function() {
    updateNav();
});
$btn.on('click', function() {
    $hlinks.toggleClass('hidden');
});
    updateNav();
});

Есть одна странная особенность. В стиле указано для блоков:

Код:
.h__i .visible-links {
    display: table;
}
.h__i .visible-links li {
    display: table-cell;
}
Если вместо table указать block:

Код:
.h__i .visible-links {
    display: block;
}
.h__i .visible-links li {
    display: inline-block;
}
то при открытии страницы в более старых браузерах, браузер начинает эту страницу грузить очень и очень долго, и в итоге по окончании загрузки все ссылки становятся невидимыми (даже те, которые попадают в экран), а на счетчике количество спрятанных ссылок становится цифра в несколько десятков тысяч. Подскажите, пожалуйста, где кроется ошибка? И, пожалуйста, проверьте скрипт в целом на ошибки. Огромно вас благодарю!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Где проблема в скрипте? sergey24 Общие вопросы Javascript 9 07.04.2017 13:54
Ребята помогите какая ошибка в скрипте php? xddanik Серверные языки и технологии 2 25.04.2015 21:44
Ошибка в скрипте nicrolay Общие вопросы Javascript 8 07.06.2014 23:46
ошибка script5022: InvalidCharachterError в скрипте для IE10 (серый экран) vitaliyna Общие вопросы Javascript 8 17.03.2014 17:42
Сколько максимум символов может быть в 1 Cookie? FirstFrost Общие вопросы Javascript 8 18.07.2010 01:26