Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.11.2022, 10:49
Кандидат Javascript-наук
Отправить личное сообщение для Zhenyaxxxx Посмотреть профиль Найти все сообщения от Zhenyaxxxx
 
Регистрация: 25.10.2018
Сообщений: 102

Как правильно написать условие для проверки стиля в кнопке?
Всем доброго дня, пытаюс написать такое условие для кнопки...
if( $(this).style.backgroundColor == 'white'){ что то делаю...}

Но выдает ошибку... не могу разобраться как правильно...
Ответить с цитированием
  #2 (permalink)  
Старый 03.11.2022, 10:51
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

А так?
this.style.backgroundColor
Ответить с цитированием
  #3 (permalink)  
Старый 03.11.2022, 11:00
Кандидат Javascript-наук
Отправить личное сообщение для Zhenyaxxxx Посмотреть профиль Найти все сообщения от Zhenyaxxxx
 
Регистрация: 25.10.2018
Сообщений: 102

Ошибку не выдает, ну условие не выполняется... посмотрите на полный код... может я что-то не то написал..
if( this.style.backgroundColor == 'white'){ $(this).toggleClass("btn");  } else { $(this).toggleClass("btn2");  }
Ответить с цитированием
  #4 (permalink)  
Старый 03.11.2022, 11:34
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

Zhenyaxxxx,
никогда не проверяйте значение установленного цвета. сделайте css правило и тогда

if($(this).hasClass( "..." ))
или
if(this.classList.contains("...") )
Ответить с цитированием
  #5 (permalink)  
Старый 03.11.2022, 11:42
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от Zhenyaxxxx
ну условие не выполняется
Так ты посмотри что тебе приходит в
this.style.backgroundColor

И лучше прислушайся к совету от рони. Поскольку значение цветов браузеры "показывают на свое усмотрение"...
Ответить с цитированием
  #6 (permalink)  
Старый 03.11.2022, 11:58
Кандидат Javascript-наук
Отправить личное сообщение для Zhenyaxxxx Посмотреть профиль Найти все сообщения от Zhenyaxxxx
 
Регистрация: 25.10.2018
Сообщений: 102

У меня сейчас мозг лопнет... ничего не получается, напишу весь код..
<button class='button_like' style='float:right; background:white; color:#4682B4;'>Кнопка</button>
<button class='button_like' style='float:right; background:white; color:#4682B4;'>Кнопка</button>
<button class='button_like' style='float:right; background:#4682B4; color:white;'>Кнопка</button>
<button class='button_like' style='float:right; background:#4682B4; color:white;'>Кнопка</button>

У одних бэкграунд синий, колор белый... У других бэкраунд белый, колор синий...
Как сделать, чтоб при клике менялся бекграунд с колором, с синего на белый и наоборот...?
Ответить с цитированием
  #7 (permalink)  
Старый 03.11.2022, 12:02
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от Zhenyaxxxx
Как сделать, чтоб при клике менялся бекграунд с колором, с синего на белый и наоборот...?
Убери у тегов style... Сделай классы.
Ориентируйся на имена классов.
Ответить с цитированием
  #8 (permalink)  
Старый 03.11.2022, 12:17
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от Zhenyaxxxx
Как сделать, чтоб при клике менялся бекграунд с колором, с синего на белый и наоборот...?
Вот так можно сделать...
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<script src="https://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<!--
-->
<style>
:root {
	--my-color1: white;
	--my-color2: #4682B4;
}
.test {
	background: var(--my-color1); 
	color: var(--my-color2);
}
.test.on {
	background: var(--my-color2); 
	color: var(--my-color1);
}
</style>
<script>
$(_ => {
	$('button').click(function() {
		$(this).toggleClass('on')
	})
})
/*
document.addEventListener('DOMContentLoaded', _ => {
})
*/
</script>
</head>
<body>
<button class='test'>Test</button>

</body>
</html>
Ответить с цитированием
  #9 (permalink)  
Старый 03.11.2022, 13:07
Кандидат Javascript-наук
Отправить личное сообщение для Zhenyaxxxx Посмотреть профиль Найти все сообщения от Zhenyaxxxx
 
Регистрация: 25.10.2018
Сообщений: 102

Работет, спасибо)))
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правило составить условие для поиска по базе используя mongoose? CryNet Node.JS 10 28.03.2022 14:18
Как написать регулярное выражение для поля места рождения? serg567 Общие вопросы Javascript 3 16.06.2021 07:30
Правильно вызвать массив biryukovm Элементы интерфейса 3 19.03.2018 13:31
Как написать скрипт для проверки несколько логинов и паролей в одном input ? Vitalik2301 Общие вопросы Javascript 18 16.02.2017 15:39
Как написать легкий скрипт для chroma sasha561 Общие вопросы Javascript 4 12.07.2015 21:38