АНОН-ПОГРОМИСТ, ПОМОГИКак сделать так, чтобы элемент на странице (допустим, div) менял цвет, когда ты по нему кликаешь? Я только начал вкатываться, так что не судите строго и объясните, пожалуйста.С меня нихуя, разумеется.На доске погромистов писать не хочу, там ответа ждать будет долго.
>>211075946Я знаю, что через скрипт делается, но не понимаю, как.>>211075944Там хуево объясняют. Я даже по гайду тупо скопировать текст пытался и у меня он не работал.Покажи, как правильно?
>>211076014Вот блок div - красного цвета.При щелчке по нему он должен становиться белым, при еще одном щелчке - зеленым.Примерно такой результат нужен.
>>211076041>Там хуево объясняют. Я даже по гайду тупо скопировать текст пытался и у меня он не работал.>Покажи, как правильно?Тогда заранее заготовь еще 100 тредов со всеми будущими вопросами, за которыми ты не хочешь идти в гугл
>>211076092О, спасибо.Но все равно, можешь просто для примера написать смену цвета для блока? Ну пожалуйста.
>>211076249Это же CSS? И он только один раз поменять может, а мне надо, чтобы после щелчков по элементу он раз за разом менял цвет.
>>211076333Вот блок div произвольного размера и красного цвета.При щелчке по нему он должен становиться белым, при еще одном щелчке - зеленым. При третьем - снова красным и так по кругу.Примерно такой результат нужен.
>>211076376Ховер же только на время одного щелчка меняет цвет. То есть, он даже держаться не будет, я прав?
>>211076405Сейчас попробую еще погуглить, но если кто-нибудь код сюда напишет просто для примера, то будет очень збс.
>>211076342Нет, результаты охуенные, просто ты тупой. Иди и гугли долбаеб. Если тебя поставил в тупик вопрос смены цвета контейнера, то тебе в погромировании делать нечего
>>211076494>Если тебя поставил в тупик вопрос смены цвета контейнераНе сказать, что в тупик, просто я в скрипты вот вчера вкатываться начал.
>>211076376> причем тут, блядь, ховер к клику? Откуда вы вообще лезете, макаки ебучие?Как и положено макаке прочитал ТЗ ток до этапа "бля надо чот цвет поменять хз"
>>211075815 (OP)Именно кликаешь? Это надо будешь скрипт на js писать. Если при наведении менять цвет то легко.
>>211076555Блять, ты тупой? Хррртьфу тебе по ебалу, первая выдача по запросу "div меняет цвет при нажатии"https://ru.stackoverflow.com/questions/553579/Смена-цвета-при-нажатии
>>211076637При наведении просто ховер ебануть, я знаю.А мне надо последовательность цветов при клике.
>>211076490ТЫ ТУПОЙ БЛЯТЬ? Я ТЕБЕ НАПИСАЛ КАКОЙ ЗАПРОС СДЕЛАТЬдаже перешел для интереса - в первом же ответе на стэковерфлоу есть демка с примером
>>211076744Братик, это пиздец, я такого тупого и ленивого говна еще не видел. Просто охуеть, у него гугел не работает, охуеть что творится
>>211076677>>211076669>>211076654>>211076649>>211076637>>211076599https://www.youtube.com/watch?v=NDe-anrOZ_sА это почему не работает?
>>211075815 (OP)https://stackoverflow.com/questions/10299020/changing-background-color-of-an-element-in-css-using-javascript
>>211076836>>211076840Да, уже посмотрел твое видео, мне заняться нечем. Все пошел нахуй, АНОНЫ НЕ ОТВЕЧАЙТЕ ЭТОМУ ЕБЛАНУ
>>211076402document.getElementById('div').addEventListener('click', () => { function setColor (colorString) { return colorString } return setColor('red_green_white')})
let element = document.getElementById("id твоего элемента");element.style.color = "#ff3300"Ну вот так например.
>>211076836никто не будет это говно смотреть, но видео 2013 года, что само по себе диагноз.закрой и никогда больше его не открывай
>>211076820Ты - software architect в крупной компаниии технологической отрасли. Разрабатываешь специализированное ПО для автоматизации производства. Несколько станков при странном стечении обстоятельств выдают йоба-ошибку. Которая, естественно, не гуглится. Ты профнепригоден.
>>211076958Бля, сука, пиздец, пока отвечал, забыл суть вопроса ОПа и написал хуйню.Короче, первая строчка такая же, а потом:element.onclick = () => {element.style.color = "#ff3300"}
>>211077121>тут люди делом занимаются>оп не может скопировать несколько строк исходников со стек оверфлоу
>>211077107Ну тип показать, какой блок внутри безымянной функции события цвет у элемента менять нада.
>>211075815 (OP)Навешиваешь на свой div обработчик событий (клик мыши), хранишь состояние (текущий цвет), меняешь его по клику.
Почему на том же стек оверфлоуве половина решений( самых верхних) на джейкверях написан? Он же давно умер. Так поцоны сказали
>>211077425>хранишь состояние (текущий цвет)В глобальной переменной? Или ты предлагаешь собственный класс-одиночку с подобной константой запилить, мань?
>>211075815 (OP)Как же доставляет осознание того, что я прошел весь этот путь от говна до нормального программиста и не обращался с такими тупыми вопросами к двачу или кому-либо еще. Настолько мастерски натренировал скилл гугла, что все нахожу без проблем. А код у меня просто охуенен.Прям сижу и кайфую от тупости ОПа. Ммм, кайф.
>>211077582Кстати, я, перед тем как научился сам нормально, зарабатывал на фрилансе по 15-30к в месяц тупо клепая больше половины кода при помощи добрых чуваков с форумов (Сначала вообще нихуя не знал, зарабатывать начал ещё до того, как начал учить хтмл)
>>211077876Иди нахуй со своим паттерном.Раз ты заговорил за "приватные методы" значит ща появятся классы, и наследование.Это всё уже общепризнанное ГОВНО.
>>211077863Ну, потому и хтмл кстати начал, потому что он простой, блочный и визуально всё видно, никаких внутренних сложных замудрённых алгоритмов и клеить несколько отрывков в один было легче простого. Что-то мне подсказывает, что условный СиПлюсПлюс я бы так не смог.
>>211077969Нетуhttps://learn.javascript.ru/private-protected-properties-methods>Защищённые свойства обычно начинаются с префикса _.>Это не синтаксис языка: есть хорошо известное соглашение между программистами, что такие свойства и методы не должны быть доступны извне. Большинство программистов следуют этому соглашению.
>>211077910Браво!Я вот укатился от бэкендерства на .нет, и так то хорошо.Ща вполне себе фулл стак на ja, и в хуй не дую!Такое то удовольствие! "... Петуханы, Visual Studio загрузился" - забыл аки страшный сон
>>211075815 (OP)Синьёр-Помидор-Архитект в треде!Отвечу на 3 вопроса, и спать.(10YOE, работал как в продуктовых, так и как консалт. Ща своя контора, работаю как subcontractor/consultant. Страна EU)
>>211078324Иди в Газпром или подобное. Есть западные конторы. Например General Electric ищет Джавщика в Москву на 350к.
>>211078301Сам продаюсь. Просто выгоднее по налогам. Скрываюсь от прогрессивных европейских налогов...
>>211078087Я в реакт укатываюсь, после буду для себя шарп учить, чтобы в юнити перекатиться.>>211078076Чуть ниже читай, там про возможности es10 рассказывается, как раз про приватные методы.
>>211078301>>211078324Да че вы за хуйню спрашиваете, спросили бы что по делу. Зачем, к примеру, в js ввели сахар типа классов, констант и прочей еболы, если от этого всего отказываются, как утверждают здешние функциональщики
>>211078414Это все не нужно в 88% случаев.В большинстве своем это просто поражает overengineering. Почти всегда.Код должен быть ПРОСТЫМ
>>211078453Ну константа как раз для фп и притянута.Не менять значения.Классы и правда на хуй не нужны для 88% проектов
>>211078493А еще в 14% не нужен js.При чем тут простота кода. Ты сказал, что в js нет приватных методов, я тебе ответил, что есть, даже указал, где. Как-то пофиг, че там с кодом происходит из-за этого.>>211078453>если от этого всего отказываютсяBullshit. Крайне удобная срань для чтения и понимания кода. Но макакам похуй, они все равно говна вместо кода наебенят и будут рады.
>>211078605Для бекенда почти всегда есть готовые продукты. Это раз.Если продукта нет - есть библиотеки. Это два.Я для себя считаю юзание классов, интерфейсов, приватных методов обоснованным только если пишем ФРЕЙМВОРК! А не продукт.
>>211078453"функциональщики" что-то утверждают про js и ооп, что я сейчас читаю. особенно хорошо в контексте "спроси у архитекта что-нибудь". ладно бы спросить как на лету кластер с базой перешардировать. подумаешь, какая-то синтаксическая хуйня в каком-то фронтендерском языке.
>>211078655>в js нет приватных методов, я тебе ответил, что есть, даже указал, гдеНо их нет. Есть соглашение по _variable, но это не приватный объект все-таки. Приватность есть сейчас в тайпскрипте (и обсуждается для следующих версий жса через #variable)
>>211078655Твой продукт это просто высрать данные из БД и их показать.Потом принять говно от юзера, и положить в табличку.Приватные методы ты пишешь просто для своего удовольствия.Недавно прочитал, и теперь хочется тебе их куда то вставить.
>>211078915Ай да не обращай внимания. Это унылые бэкендеры вылезают всегда. Их поезд ушел, а им обидно.Вот и начинаются кукареки, ЖС Говно! А где же типизация!!!
>>211078998ты это, размораживайся, вам уже типизацию подвезли, теперь надо говорить что она всегда была и вообще самая лучшая.
>>211078879>ПукВеб вообще простая хуйня, неожиданно. Но даже когда ты пишешь простую хуйню, куда приятнее, когда код структурируем и читаем, а не выглядит как говно мамонта на 1440 строк трустори, недавно коллега уволился, и после него осталось функциональное запутанное говно на 1440 строк, которое невозможно ни понять ни отрефакторить.>>211078844Но они есть. Недавно добавили. Ты сам ссылку на Кантора скинул, так почитай внимательнее.Эта возможность была добавлена в язык недавно. В движках JavaScript пока не поддерживается или поддерживается частично, нужен полифил.
>>211079124Она не была добавлена, это stage 3 proposal https://github.com/tc39/proposal-private-methods
Еще никто не ответил?let something = document.getElementById('something');something.style.cursor = 'pointer';something.onclick = () => { something.style.backgroundColor = 'red';}
>>211079124Потому что ты учил ООП (как и все)Поэтому хочется его юзать.Когда в руке молоток, кажется что все проблемы это гвозди.
>>211079211бля ну не proposal, это candidate называется. В любом случае в официальную спецификацию это еще не вошло
ООП - говноВся слава ФП.ЖС - язык для всех средних и мелких и большинства крупных проектов. (Остальные языки - легаси или какая то специфическая хуйня (адский матан, кучи данных, МЛ, АИ, ИОТ)Всем споки!
>>211079581Не ну если серьезно, то вот питон я считаю недоязычком из-за однопотока by design. А вот JS хоть и корявый и по уши в легаси, но язык.
>>211079656Ща грят, что многопоточность не нужна будет, ядер и так хватает, чтобы запросы параллельно выполнять.
>>211079772По ОП-посту понятно же, что чувак вообще не понимает, пусть хоть такое делает. А потом почитает что можно сделать лучше.
>>211079927Как не нужна если IPC растет на ноль целых хуй десятых, а ядер в 2 раза больше то и дело становится, как в случае с 3950х
>>211079987Ну вот из-за многоядерности и не нужна. Реалтайм обмен с клиентом можно по одному потоку вести, а высоконагруженные скрипты тупо распараллеливаешь по нескольким запросам, и похую.
>>211082243>>211081732>>211080280>>211080169>>211080167>>211080053>>211079655>>211079633300к/наносек, ответьте на вопрос: как сделать так, чтобы после смены цвета на зеленый блок менял его на черный при следующем клике по нему, а при третьем клике - возвращался к красному?
>>211082827Ну там же в функции ввести переменую, которая по клику инкрементируется и сравнивать ее значение но это не точно
>>211075815 (OP)> АНОН-ПОГРОМИСТ, ПОМОГИ> Как сделать так, чтобы элемент на странице (допустим, divЛол, чет проиграл с начинающего хтмл-программиста.
>>211083916Сколько тебе лет? Где учишься? Зачем тебе это?Вижу что у тебя либо не было программирования, либо прогуливал.Читай сначала основы программирования и алгоритмизации. Глобальные и локальные переменные и тд. Это все универсально для любого языка и среды наверное.
>>211084382Я просто ради фана решил научиться. Вчера закончил разбираться с css и теперь пытаюсь вкатываться в js. Не бомбите, что я так туплю, пожалуйста.>>211084385Да, это я понял. Вот здесь поправил.
>>211086064В условии больше одного цвета, макака. Читай ТЗ прежде чем писать код, чтобы потом тебе не ссали на лицо.
>>211086852>>211086765>Как сделать так, чтобы элемент на странице (допустим, div) менял цвет, когда ты по нему кликаешь? Я только начал вкатываться, так что не судите строго и объясните, пожалуйста.
>>211087184>>211082827Тред не читай, своё решение вставляй. Если условие онли переключение двух цветов, то да, нот бэд. Но ты же понимаешь, что если бы так было, ты бы не успел побыть самым умным?)
>>211086064То же самое можно было сделать вообще без js, к слову. Если оп сказал что с css уже разобрался, а что такое checkbox он не знает...
document.querySelector('.box').addEventListener('click', (e) => { let cL = e.target.classList; if(cL.contains('red')){ cL.remove('red'); cL.add('blue') } else if(cL.contains('green')){ cL.remove('green'); cL.add('yeloow') } else if(cL.contains('yellow')){ cL.remove('yellow'); cL.add('blue') } else if(cL.contains('blue')){ cL.remove('blue'); cL.add('red') } else { cL.add('red') } })
>>211088631Напутал немног, вот верно:document.querySelector('.box').addEventListener('click', (e) => { let cL = e.target.classList; if(cL.contains('red')){ cL.remove('red'); cL.add('blue') } else if(cL.contains('green')){ cL.remove('green'); cL.add('yeloow') } else if(cL.contains('yellow')){ cL.remove('yellow'); cL.add('red') } else if(cL.contains('blue')){ cL.remove('blue'); cL.add('green') } else { cL.add('red') } })
Типичные представители Б собрались итт, хтмл-программисты и их следующий грейд жс-программисты. Ветка развития дегенератов.
>>211090676>>211090654Не, давай так. Я понимаю, что через стили прописывать - дно, в условии i-2 тоже хрень(исправил). НО я вообще в душе не ебу почему через .css стили не прописываются, может подскажешь?
>>211090686Давай я тебе такого же качества вопрос напишу - Зачем больше одного серверного и одного клиентского яп вообще существует?
В голосину с опа, конечноКогда вкатывался, то примерно 85% времени у меня занимал гуглинг и чтение доков, 10% проклятья и вскрики какой же я тупой, и 5 % написание кода. Ставь лайк если жиза, ставь сажу если хейтерСеньор эксель девелопер 80к в мес
>>211091839Когда освоишься, гуглинг будет занимать 20% времени, 50% обдумыванию, что это блять за хуйня, как это блять всё работает и, не переписать ли, или как есть оставить, при не важно, свой код или чужой. 10% мысли, не пора ли поиграть/пожрать/поспать/поскролить двощ... и 20% непосредственно сам процесс кодирования. На мысли о том, что ты тупой времени тратить не будешь, это ты будешь помнить и так перманентно. Да и вообще, со временем узнаёшь, что все тупят, когда наловишься багов в движках, языках и даже операционках.
>>211090807Разные задачи выполняют. На джава хорошо пилить тяжёлый бек для интерпрацза, на ноде хороше идёт большое количество соединений, но рассветы вести она не может.
>>211075815 (OP)Браузер каждое мгновение ждёт что что нибудь случится. Страница загрузится, пользователь мышкой двинет или видео остановится. Это называется "событие". Тебе надо написать код,который при событии "клик" по нужному элементу делал действие "изменить CSS свойство "фоновый цвет" у текущего элемента".
>>211095011В коде, в js-файле. Потому что логика работу с ДОМом должна быть в одном месте для того, чтобы в коде было легче разобраться и было проще его поддерживать.. Если у тебя есть линтеры и ты, например, поменял название функции-обработчика, но забыл поменять её в хтмле, то линтер тебе об этом сказать никогда не сможет и ты обосрешься, а если ивент будет добавлен через addEventlistener в js-файле. то линтер тебе скажет о том. что название ф-и в addeventlistener не существует.
>>211075815 (OP)Learn how to use Google and StackOverflow.Seriously. You can't know everything. You have to know how to find it.By topic theme - property onlick on div and save current color value.
>>211075815 (OP)Делаешь это всё в javascript, естественно, для начала надо найти сам элемент в DOM-структуре, юзаешь какой-нибудь document.querySelector(), вроде такого:const divElement = document.querySelector('.div');После этого создаёшь действие, можно накинуть addEventListener, но нам хватит и нативного onclick, пишешь такую ебалу: divElement.onclick = function(){divElement.style.background = "#ccc";}Вот как бы и всё. Изначально цвет будет указанный в стилях, или не будет вовсе, а после клика будет серым.Можно сделать более выёбисто. Делаешь глобальную переменную, опять получает элемент из объектной модели, и вешаешь слушатель с переключением классов, естественно в стилях надо прописать два класса 'div' и 'div-alt' с разными бекграундами типа:let divElement = document.querySelector('.div');let theme = true;divElement.addEventListener('click', function(){divElement.className = theme ? 'div' : 'div-alt'; theme = !theme;})