Size: a a a

JavaScript Rules

2020 July 21

MA

Max Alekseyev in JavaScript Rules
Перепиливать их эктеншены одно удовольствие, читаешь код, как книгу
источник

MA

Max Alekseyev in JavaScript Rules
Alexander Luschenko
Потому что семантика отличается от текста к тексту. Нельзя сделать универсальную верстку для сайта где шаблон прописан заранее.
Полностью согласен. Основная задача семантики кода имхо сделать его интуитивным и легко читаемым для сторонних разработчиков, по-этому хеадер должен называться хеадером, копирайт копирайтом, а футер футером, а не "podval". Тоже относиться и к именованию функций и переменных. Дальше надо использовать тэги по назначению, списки, блоки, строчные элементы, вот для чего они придуманы так и использовать. Писать список как strong>span+span+span можно, ксс всё вытянет, можно, но не нужно
источник

MA

Max Alekseyev in JavaScript Rules
Если можешь объяснить простому человеку на пальцах, что там в верстке к чему, значит код семантичен.
источник

S

Seagull in JavaScript Rules
Здравствуйте
Посмотрел видео на канале где решалось найти числа кратные 3
Но не понимаю некоторых команд
Объясните пожалуйста аргумент apply (насколько я помню то 2 аргументом в этот массив прописывается но приходит объект  ) ,
Number.call, Number
Что вот эти команды значат ?
Или какие ссылки почитать
Что бы понять
https://codesandbox.io/s/blissful-sea-y6hpi?file=/src/index.js
Заранее спасибо
источник

MA

Max Alekseyev in JavaScript Rules
А если через месяц сам не можешь понять что там написано, то не семантичен )
источник

А

Александр in JavaScript Rules
Hello, world! При открытии страницы с мобильного устройства в контейнере <head> сам собой появляется элемент <base>. Можно ли эту услугу отключить или удалить?
источник
2020 July 22

F

Fedor in JavaScript Rules
Всем привет.
Кто может подсказать, как правильно реализовать много уровненное динамическое меню на React.

Мне приходит json по типу:
const data = [
       {
           "id": "2",
           "name": "some item",
           "children": [
               {
                   "id": "3",
                   "name": "Services",
                   "url": "/services"
               },
               {
                   "id": "4",
                   "name": "Others",
                   "url": "/others"
               },
               {
                   "id": "4",
                   "name": "Clients",
                   "url": "/clients"
               },
           ]
       }];

Где указаны пункты меню и если есть их вложенные пункты.
С помощью рекурсии и меня получается вывести дерево, но я пока даже не могу понять как мне отображать вложенные пункты, к примеру, по клику. Я догадываюсь, что нужно использовать state, в котором будут записаны какие пункты нужно отобразить, но пока что-то никак не выходит.
+ это ещё нужно сделать с Material-Ui)

Нужно сделать что-то по типу такого
https://lh3.googleusercontent.com/7Cra3Z2XFzqCAH4OkSuSst_-lidW6U2MZyBuwvWsgWJPcFSo0kLrbrfQBcCH4VYwMwGtBe1daqTBjTJ9xUla0498vHmHM0sBRmr2E40=w1064-v0

Заранее спасибо))
источник

М

Максим in JavaScript Rules
Fedor
Всем привет.
Кто может подсказать, как правильно реализовать много уровненное динамическое меню на React.

Мне приходит json по типу:
const data = [
       {
           "id": "2",
           "name": "some item",
           "children": [
               {
                   "id": "3",
                   "name": "Services",
                   "url": "/services"
               },
               {
                   "id": "4",
                   "name": "Others",
                   "url": "/others"
               },
               {
                   "id": "4",
                   "name": "Clients",
                   "url": "/clients"
               },
           ]
       }];

Где указаны пункты меню и если есть их вложенные пункты.
С помощью рекурсии и меня получается вывести дерево, но я пока даже не могу понять как мне отображать вложенные пункты, к примеру, по клику. Я догадываюсь, что нужно использовать state, в котором будут записаны какие пункты нужно отобразить, но пока что-то никак не выходит.
+ это ещё нужно сделать с Material-Ui)

Нужно сделать что-то по типу такого
https://lh3.googleusercontent.com/7Cra3Z2XFzqCAH4OkSuSst_-lidW6U2MZyBuwvWsgWJPcFSo0kLrbrfQBcCH4VYwMwGtBe1daqTBjTJ9xUla0498vHmHM0sBRmr2E40=w1064-v0

Заранее спасибо))
из массива циклом формируй html просто и дальше обычным css или ты хочешь, чтобы подпункты были компонентами и каждый раз загружались/выгружались?
источник

F

Fedor in JavaScript Rules
Максим
из массива циклом формируй html просто и дальше обычным css или ты хочешь, чтобы подпункты были компонентами и каждый раз загружались/выгружались?
Да, компонентами.
Что-то типа такого:

function BookmarkNode({ node }) {
       if (!node.children) return (
           <MenuItem onClick={handleClick}> {node.name} </MenuItem>
       )
       return (
           <MenuItem onClick={handleClick}>
               <p>{node.name}</p>
               <Menu>
                   {node.children.map(c => (<NavLink to={c.url} key={c.id}> <BookmarkNode node={c} /> </NavLink>))}
               </Menu>
           </MenuItem>
       );
   };
источник

М

Максим in JavaScript Rules
Fedor
Да, компонентами.
Что-то типа такого:

function BookmarkNode({ node }) {
       if (!node.children) return (
           <MenuItem onClick={handleClick}> {node.name} </MenuItem>
       )
       return (
           <MenuItem onClick={handleClick}>
               <p>{node.name}</p>
               <Menu>
                   {node.children.map(c => (<NavLink to={c.url} key={c.id}> <BookmarkNode node={c} /> </NavLink>))}
               </Menu>
           </MenuItem>
       );
   };
Ну так чисто в теории: кликнув записывай id пункта в стейт, а при рендере проверяй этот id и рендери для него внутри ещё подменю
источник

ВК

Вячеслав Коростин... in JavaScript Rules
Здравствуйте ! Хотел узнать кто в теме кто прошел такую войну - какие есть подводные камни с массивами в js  я читаю документацию - но понятное дело можно самому на практике  увидеть какие или не увидеть какие есть трудности с использованием массивов и их методов - если у кого есть такие случаи примеры то буду рад
источник

AL

Alexander Luschenko in JavaScript Rules
Основные трудности - непонимание и незнание Js
источник

VS

Vitalik Staferg in JavaScript Rules
Вячеслав Коростин
Здравствуйте ! Хотел узнать кто в теме кто прошел такую войну - какие есть подводные камни с массивами в js  я читаю документацию - но понятное дело можно самому на практике  увидеть какие или не увидеть какие есть трудности с использованием массивов и их методов - если у кого есть такие случаи примеры то буду рад
Пока все по уму делаешь никаких камней не будет
источник

j

jony in JavaScript Rules
Добрый день

Подскажите как правильно в моем случае применить setInterval и  setTimeout:

1. нужно блоки менялись каждых 2 секунды.
2. при наведении мышкой на какой либо из блоков он выводится  в большом виде, а после убирания курсора продолжалась работа *слайдера*

https://codepen.io/jony-de/pen/YzwOLZO?editors=1010
источник

OS

Oleg S in JavaScript Rules
jony
Добрый день

Подскажите как правильно в моем случае применить setInterval и  setTimeout:

1. нужно блоки менялись каждых 2 секунды.
2. при наведении мышкой на какой либо из блоков он выводится  в большом виде, а после убирания курсора продолжалась работа *слайдера*

https://codepen.io/jony-de/pen/YzwOLZO?editors=1010
1. старт интервал
2. mouseenter - стоп интервал и показать блок
3. mouseleave - начать новый интервал
источник

MA

Max Alekseyev in JavaScript Rules
Oleg S
1. старт интервал
2. mouseenter - стоп интервал и показать блок
3. mouseleave - начать новый интервал
источник

j

jony in JavaScript Rules
спасибо
источник

j

jony in JavaScript Rules
Oleg S
1. старт интервал
2. mouseenter - стоп интервал и показать блок
3. mouseleave - начать новый интервал
Спасибо, это понятно.
я не особо понимаю как это реализовать в коде.
источник

OS

Oleg S in JavaScript Rules
jony
Спасибо, это понятно.
я не особо понимаю как это реализовать в коде.
Для начала просто слайдер сделай бесконечный
источник

VS

Vitalik Staferg in JavaScript Rules
jony
Спасибо, это понятно.
я не особо понимаю как это реализовать в коде.
Ну глянь в доке про  mouseenter, mouseleave, setInterval и  setTimeout
источник