Задать вопрос
@ItWorld

Какой js код выбрать?

Решил по максимум оптимизировать код js в плане скорости для google page speed.

Исходный код:

/* Индекс слайда по умолчанию */
var slideIndex = 1;
showSlides(slideIndex);

/* Функция увеличивает индекс на 1, показывает следующй слайд*/
function plusSlide() {
    showSlides(slideIndex += 1);
}

/* Функция уменьшяет индекс на 1, показывает предыдущий слайд*/
function minusSlide() {
    showSlides(slideIndex -= 1);  
}

/* Устанавливает текущий слайд */
function currentSlide(n) {
    showSlides(slideIndex = n);
}

/* Основная функция слайдера */
function showSlides(n) {
    var i;
    var slides = document.getElementsByClassName("item");
    var dots = document.getElementsByClassName("slider-dots_item");
    if (n > slides.length) {
      slideIndex = 1
    }
    if (n < 1) {
        slideIndex = slides.length
    }
    for (i = 0; i < slides.length; i++) {
        slides[i].style.display = "none";
    }
    for (i = 0; i < dots.length; i++) {
        dots[i].className = dots[i].className.replace(" active", "");
    }
    slides[slideIndex - 1].style.display = "block";
    dots[slideIndex - 1].className += " active";
}


Сократил через онлайн сервис:

var slideIndex=1;showSlides(slideIndex);function plusSlide(){showSlides(slideIndex+=1)}function minusSlide(){showSlides(slideIndex-=1)}function currentSlide(n){showSlides(slideIndex=n)}function showSlides(n){var i;var slides=document.getElementsByClassName("item");var dots=document.getElementsByClassName("slider-dots_item");if(n>slides.length){slideIndex=1}if(n<1){slideIndex=slides.length}for(i=0;i<slides.length;i++){slides[i].style.display="none"}for(i=0;i<dots.length;i++){dots[i].className=dots[i].className.replace(" active","")}slides[slideIndex-1].style.display="block";dots[slideIndex-1].className+=" active"}


Оба работают отлично. 2-й чуть быстрее.

Подскажите, стоит ли менять первоначальный на сокращённый или всё-таки не нужно. И может ещё есть какой-то важный момент для оптимизации скорости загрузки конкретно этого кода.
  • Вопрос задан
  • 80 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@RidgeA
нет не стоит.
для минификации кода есть специальные инструменты.
но код пишется в первую очередь для людей, потому в исходниках это оставлять не надо
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы