Вход • Регистрация

Небольшое недопонимание по JavaScript

  • 02 августа 2017 г.
  • Коллеги, опять же непонимание на ровном месте. Хочу сделать слайдер. Есть, казалось бы, простейший код:
    Код

    <script type="text/javascript">
    $(document).ready(function() {
    $('.slide .slider').eq(0).addClass('active').fadeIn(1000);

    setInterval('blockAnimate();', 5000);
    });


    function blockAnimate() {
    var length = $('.slide .slider').length - 1;
    $('.slide .slider').each(function(index) {
    if($(this).hasClass('active') && index != length) {
    $(this).removeClass('active').fadeOut(1000).next('.slider').addClass('active').fadeIn(1000);
    return false;
    } else if (index == length) {
    $(this).removeClass('active').fadeOut(1000);
    $('.slide .slider').eq(0).addClass('active').fadeIn(1000);
    return false;
    }
    });
    </script>


    Подключен
    Код
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>


    CSS тоже проще некуда:
    Код

    .slider{
    width:100%;
    height:100%;
    display: none;
    }


    Итог: скрипт не отрабатывает: не переводит из состояния display: none в active. Никто не сталкивался с тем, что скрипты не работают?
  • 02 августа 2017 г. , редакция: 02 августа 2017 г.
  • Тут лишняя точка с запятой в вызове функции blockAnimate и кавычки не нужны, вы в итоге строку передаете, а не функцию. а самый правильный вариант это создать анонимную функцию, и в ней по желанию уже вызывать функцию, что создали.
    Код
    setInterval('blockAnimate();', 5000);


    Правильный вариант:
    Код
    setInterval(function(){
    blockAnimate();
    }, 5000);


    Еще мое мнение
    Код
    $('.slide .slider').eq(0).addClass('active').fadeIn(1000);

    Плохая практика, страница так будет прыгать, лучше сразу первому слайду прописать класс active, а после js серавно будет менять как ему надо.

Новости

  • 19 сентября, пятница
  • Мы внесли изменения в лицензию и объявляем, что прекращаем техническую консультационную поддержку сайтов на DIAFAN.CMS версий старше 7.0. А это все минорные версии платформы, предшествующие актуальной линейке, а именно: версии серии 4.x, 5.x, 6.x.
  • 15 сентября, понедельник
  • У нас отличные новости! Мы выпустили новую сборку DIAFAN.CMS 7.3, которая включает встроенные нейросети непосредственно в административной панели. Это значит, что создание контента для вашего сайта больше не будет проблемой — искусственный интеллект возьмет эту задачу на себя, избавляя вас от необходимости привлекать копирайтеров или тратить время на написание текстов самостоятельно.
  • 25 марта
  • Мы обновили систему тарифов, учитывая опыт работы с клиентами и современные рыночные условия. Новая тарифная сетка разработана специально для того, чтобы лучше отвечать вашим потребностям. Резкого повышения цен не произошло. Более того, некоторые тарифы даже стали выгоднее и доступнее. 

Блоги

  • 10.09.2025
  • DIAFAN.CMS славится нагрузоустойчивостью и безопасностью, про инциденты со взломом сайта на нашей системе давненько не слышали, но недавно получили мы письмо от fstec.ru такого характера:

    Обнаружена уязвимость в CMS-системе DIAFAN, позволяющая нарушителю, действующему удалённо, красть сессионные куки через XSS-атаку.

Форум