Javascript.RU

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

добавлять класс
Здравствуете, подскажите пожалуйста как можно с помощью js добавлять в определённою диву класс и одновременно удалит с других этот класс.


<div class="img" id="img">
<div id="img1" class="img2">1</div>
<div id="img2" class="img1">2</div>
<div id="img3" class="img1">3</div>
<div id="img4" class="img1">4</div>
<div id="img5" class="img1">5</div>
</div>

<div class="button">
<div class="klor klor1" onclick="red()">red</div>
<div class="klor klor2" onclick="blue()">blue</div>
<div class="klor klor3" onclick="green()">green</div>
<div class="klor klor3" onclick="yellow()">yellow</div>
<div class="klor klor3" onclick="gold()">gold</div>
</div>


<style>

.button {
display: flex;
}
.klor{
width: 40px;
height: 40px;
border-radius: 50%;
margin: 10px;
cursor: pointer;
background:red;
}

.img {
position: relative;
}

.img2{
display: block;
}

#img1, #img2, #img3, #img4, #img5{
width: 400px;
height: 300px;
position: absolute;
top: 100px;
left: 50px;
}

#img1{
background: red;
}

#img2{
background: blue
}

#img3{
background: green
}

#img4{
background: yellow;
}

#img5{
background: gold
}

.img1{
display: none;
}
.img2{
display: block;
}

</style>
Ответить с цитированием
  #2 (permalink)  
Старый 15.10.2018, 02:50
Кандидат Javascript-наук
Отправить личное сообщение для Hovik Посмотреть профиль Найти все сообщения от Hovik
 
Регистрация: 15.10.2018
Сообщений: 116

Добавить img2 удалить img2
Ответить с цитированием
  #3 (permalink)  
Старый 15.10.2018, 09:15
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от Hovik
как можно с помощью js добавлять в определённою диву класс и одновременно удалит с других этот класс
Как вариант...

<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='https://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
.img1 {
	font-style: italic;
}
.img2 {
	color: red;
}
</style>
<script type='text/javascript'>
$(function(){
	$('.img > div').click(function(){
		var o=$(this.parentNode).children();
		o.removeClass('img2');
		o.addClass('img1');
		o=$(this);
		o.removeClass('img1');
		o.addClass('img2');
	});
});
</script>
</head>
<body>
<div class="img" id="img">
	<div id="img1" class="img2">1</div>
	<div id="img2" class="img1">2</div>
	<div id="img3" class="img1">3</div> 
	<div id="img4" class="img1">4</div> 
	<div id="img5" class="img1">5</div> 
</div>
</body>
</html>
Ответить с цитированием
  #4 (permalink)  
Старый 15.10.2018, 11:45
Кандидат Javascript-наук
Отправить личное сообщение для Hovik Посмотреть профиль Найти все сообщения от Hovik
 
Регистрация: 15.10.2018
Сообщений: 116

Спасибо, все работает но нет вариант? без библиотеки, на чистом js
Ответить с цитированием
  #5 (permalink)  
Старый 15.10.2018, 12:06
Кандидат Javascript-наук
Отправить личное сообщение для Hovik Посмотреть профиль Найти все сообщения от Hovik
 
Регистрация: 15.10.2018
Сообщений: 116

Еще нужно чтобы, клик мы сделали на кнопку, а класс меняется в img, а здесь нужно на img клик сделать. Я извиняюсь просто еще javascript темная лес для меня, если можно исправите код.
Ответить с цитированием
  #6 (permalink)  
Старый 15.10.2018, 12:28
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

<!DOCTYPE html>
<html>
<head>
	<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
	<style type='text/css'>
	.img1 {
		font-style: italic;
	}
	.img2 {
		color: red;
	}
</style>
</head>
<body>
	<div class="img" id="img">
		<div id="img1" class="img2">1</div>
		<div id="img2" class="img1">2</div>
		<div id="img3" class="img1">3</div> 
		<div id="img4" class="img1">4</div> 
		<div id="img5" class="img1">5</div> 
	</div>

<div class="button">
<div class="klor klor1">red</div>
<div class="klor klor2">blue</div>
<div class="klor klor3">green</div>
<div class="klor klor3">yellow</div>
<div class="klor klor3">gold</div>
</div>
	<script>

var block = document.querySelectorAll('.img div'),
btn = document.querySelectorAll('.button .klor'),
index = null;

btn.forEach((el,i)=>{
	if(block[i].classList.contains('img2')) index =  i;
	el.addEventListener('click', function(e){
		block[i].className = 'img2';
		if(index != i && index != null){
			block[index].className = 'img1';
		}
		index =  i;
	});
});

	</script>
</body>
</html>

так?
Ответить с цитированием
  #7 (permalink)  
Старый 15.10.2018, 13:00
Кандидат Javascript-наук
Отправить личное сообщение для Hovik Посмотреть профиль Найти все сообщения от Hovik
 
Регистрация: 15.10.2018
Сообщений: 116

Да все классно работает, так как нужно, Спасибо.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как добавлять класс к li если в div сlass = 1-5 zulyamodx Общие вопросы Javascript 5 02.11.2016 16:35
Подскаите как менять класс у елемента в зависимость от класса другово елемента NirVanea Общие вопросы Javascript 4 10.09.2015 13:51
Добавить / удалить класс кликом fabrique Общие вопросы Javascript 4 03.09.2014 04:43
Jquery немогу установить класс! shureg Общие вопросы Javascript 4 26.10.2010 14:37
setInterval добавлять класс по таймеру igsavenko jQuery 2 06.07.2010 13:00