Владимир, а ничего, что полоски не синхронизированы? :)
конечно, можно менять animation-duration и animation-delay так, чтобы в сумме было одинаково (в оригинале 1.4s), но тогда изменение opacity будет длится разное время.
тупиковый подход, имхо.
Или вы пытаетесь сделать самостоятельно с целью обучения?
$('.menu li').on('click', function(){
$(this).toggleClass('active') // переключаем класс элементу, по кторому был клик
.siblings().removeClass('active'); // деактивируем всех соседей
});
mail@artem.vip, если вы надумаете поверх iframe с чужим контентом разместить какой-то прозрачный уловитель кликов, то... лет 15 назад это было легко, лет 12 назад пришлось бы заморочиться, а сейчас вроде все известные дыры прикрыты.
FanatPHP, лучше с рекурсией, имхо. (обновил код)
Потестил на 700-метровом sql-дампе. Даже если задавать дикие стартовые числа, типа 10 байт, то максимум с третьей попытки находилось нужное смещение.
Чисто в теории, в файле могут быть очень длинные строки, и код придется делать еще более сложным. А fgets насколько я помню, довольно сильно заоптимизирован, самодельная разбивка на строки не факт, что будет эффективнее.
Но бенчмарки я проводить конечно же не буду)
intriga93, я бы писал как-то так https://jsfiddle.net/yh48769e/
чтобы было немного понятнее что происходит.
И не следует использовать let и var там, где они не нужны.
Василий Банников, конечно, это не production-ready шаблонизатор.
Еще стоит проверять еще есть ли объекты с нужным ключом.
При невозможности замены можно возвращать неизмененный текст, пустую строку, или сообщение об ошибке.
конечно, можно менять animation-duration и animation-delay так, чтобы в сумме было одинаково (в оригинале 1.4s), но тогда изменение opacity будет длится разное время.
тупиковый подход, имхо.