D.iK.iJ

D.iK.iJ
Рейтинг
239
Регистрация
26.05.2013
Должность
Человек-оркестр
Интересы
Занимаюсь адаптивной версткой сайтов, а в свободное время делаю симпатичные кулоны с опалами.
Делай что должен. И будь оно... просто будь! 💬 Когда будет срублено последнее дерево, когда будет отравлена последняя река, когда будет поймана последняя птица, – только тогда вы поймете, что деньги нельзя есть. 💬 Лучший момент, чтобы посадить дерево, был 20 лет назад. Второй лучший момент - сейчас.

Э... Идеи ничего не стоят. Это раз.

Людям нафиг не упала еще одна пустая соцсеть. Это два.

Это как сайты по продаже хендмейда. Они вон есть уже и красные и синие и зеленые и с фишечками и с подпиской и бесплатных куча. Я как-то более 60 насчитал. Только нафиг на это все время тратить, если покупателей там нет? Так и тут.


Чую, еще одна тема будет: "Я придумал такой крутой форум с такими 2 фишками, что сейчас только напишу движок...." Ой. Или это уже тут на Серче случилось? ))

<script>
function play() {
document.getElementById("video").innerHTML = '<iframe width="787" height="525" src="https://www.youtube.com/embed/111111111111?autoplay=1" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>';
}
</script>

<div class="video" id="video" onclick="play();">
<img src="//img.youtube.com/vi/111111111111/maxresdefault.jpg" width="787" height="525" border="0" alt="0">
</div>

Берем блок, по клику на который заменяем содержимое на фрейм с видео. Тут 111111111111 - это уникальный URL видео, который обычно идет после /watch?v=111111111111 Единственное, делал для одного видео на странице, но поправить не сложно.

Дальше, шрифты загружаются с Гугла. Что Гугл не любит. Или хоть настроить   font-display (прямо на странице Гугла есть инструкция).

У изображений нет  width  и height . Будет ругаться.

Виджет ВК нужно переделывать на асинхронную загрзку. Как минимум. Или менять на картинку со ссылкой.

Кнопки поделиться тоже лучше асинхронно или переделать на свои. Это довольно просто.

Аналитику и счетчики - правда лучше в подвал.

Если есть специалист под рукой, то скрипты можно тоже в подвал. Но ОЧЕНЬ осторожно. Стили... не советую. Будет грузиться косо криво. Там сложнее все.

Потом править всякое вроде " В документе нет метаописания " И " Для элементов изображений не заданы атрибуты [alt] ".

А дальше видно будет.



Mahol #:
Класс у них один, не понимаю, как переназначить. 

Вот можете прямо идти по вложенности до куда надо и все:

#menu-amp > li > .sub-menu {
padding-left: 40px;
}

Или может даже 

#menu-amp > li > .sub-menu > li {

Вот еще тема хорошая! ))


Если убрать время жизни, куки, вроде как должно действовать до закрытия браузера.

И еще мне казалось, что в браузере ограничено максимальное время жизни кук. Но что-то не смог нагуглить сейчас.

Прошлое все убрать. И скрипт должен быть ниже меню в коде. Или подключаться уже после загрузки страницы.
Напишите сами. Там не сильно сложно: https://dikij.com/4italka/share.html

Ну давайте попробуем все с нуля собрать на классах:

#menu-amp .menu-item-has-children ul.sub-menu {display: none !important;}
#menu-amp .menu-item-has-children.show > ul.sub-menu {display: block !important;}
#menu-amp .menu-item-has-children {position: relative;background: #fafafa;border-bottom: 1px solid #efefef;}
#menu-amp .menu-item-has-children:after {content: ""; border: 5px solid transparent; border-top: 5px solid #b3b3b3; position: absolute; right: 12px; top: 21px; transition: transform 300ms;}
#menu-amp .menu-item-has-children.show:after {transform: rotate(90deg);}
#menu-amp .menu-item-has-children > a {display: inline-block; width: auto; border-bottom: none;}

И скриптом перебрать все нужные элементы

var elements = document.getElementsByClassName("menu-item-has-children");
var myFunction = function(event) {
event.stopPropagation();
this.classList.toggle("show");
};

for (var i = 0; i < elements.length; i++) {elements[i].addEventListener('click', myFunction, false);}

Не уверен, что все прямо 100% правильно, но через консоль работает.

Mahol #:
Только скрипт почему-то не работает.

Он под JQuery. По идее, для работы на сайте должен быть JQuery. Без него... ну только добавлять класс по клику и показывать меню, если класс есть.

document.getElementById('menu-item-2268').addEventListener('click', function() {
  this.classList.toggle('show');
});

и добавить стили

#menu-item-2268.show ul.sub-menu {display: block;} 

Через консоль проверял - работает. Если не будет - добавьте куда-то  ниже меню в коде.

Расстраивает, что автоматом не определяет темную тему... Ну там же всего одна строка. Неужели в Яндексе программисты не осилят сделать все удобно без создания отдельных объявлений?

if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
    // dark mode
}
Всего: 2928