Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.05.2018, 17:40
Аватар для madeas
Профессор
Отправить личное сообщение для madeas Посмотреть профиль Найти все сообщения от madeas
 
Регистрация: 13.04.2018
Сообщений: 232

Вывести свойства в отдельный контейнер
Добрый день.

Подскажите, как при помощи скрипта вывести в отдельный div контейнер только свойство box-shadow одного из блоков при нажатии? их 4 https://jsfiddle.net/5usu50ep/ Т.е. я нажимаю на 1 и 2, а в контейнере выводятся класс и свойства тени каждого контейнера.
Ответить с цитированием
  #2 (permalink)  
Старый 21.05.2018, 17:53
Аватар для madeas
Профессор
Отправить личное сообщение для madeas Посмотреть профиль Найти все сообщения от madeas
 
Регистрация: 13.04.2018
Сообщений: 232

Возможно, так даже будет легче https://jsfiddle.net/t6Lo1je7/
Ответить с цитированием
  #3 (permalink)  
Старый 21.05.2018, 18:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

madeas,
если макет разместить тут, ответы появятся оперативнее ...
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
.flex {
  display: flex;
}
.block {
  position: relative;
  width: 100px;
  height: 100px;
  margin: 20px;
  border: 0;
  background: #fff !important;
}
.block::after {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  background-color: #fff;
}
.bShadow-1{-webkit-box-shadow:0px 1px 1px 1px rgba(0,0,0,0.06);-moz-box-shadow:0px 1px 1px 1px rgba(0,0,0,0.06);box-shadow:0px 1px 1px 1px rgba(0,0,0,0.06);}
.bShadow-2{-webkit-box-shadow:0 0 20px 0 rgba(150,150,150,.1);-moz-box-shadow:0 0 20px 0 rgba(150,150,150,.1);box-shadow:0 0 20px 0 rgba(150,150,150,.1);}
.bShadow-3{-webkit-box-shadow:0 20px 60px -10px rgba(0,0,0,.1);-moz-box-shadow:0 20px 60px -10px rgba(0,0,0,.1);box-shadow:0 20px 60px -10px rgba(0,0,0,.1);}
.bShadow-4{-webkit-box-shadow:0 15px 45px -9px rgba(0,0,0,0.25);-moz-box-shadow:0 15px 45px -9px rgba(0,0,0,0.25);box-shadow:0 15px 45px -9px rgba(0,0,0,0.25);}
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
var b = $(".block"), out = $(".out"), text;
b.on("click", function() {
   text = this.className + " " + $(this).css("box-shadow")
   out.text(text)
})

});
  </script>
</head>

<body>
<div class="flex numbers">
  <input type="checkbox" class="block bShadow-1">
  <input type="checkbox" class="block bShadow-2">
  <input type="checkbox" class="block bShadow-3">
  <input type="checkbox" class="block bShadow-4">
</div>
<div class="out"></div>

</body>
</html>
Ответить с цитированием
  #4 (permalink)  
Старый 21.05.2018, 18:25
Аватар для void()
Профессор
Отправить личное сообщение для void() Посмотреть профиль Найти все сообщения от void()
 
Регистрация: 11.08.2017
Сообщений: 208

Вариант без jQuery

<!DOCTYPE html>
<html lang="ru">
<head>
	<meta charset="UTF-8">
	<title>Пример</title>
</head>
<body>

	<div class="flex numbers">
		<input type="checkbox" class="block bShadow-1">
		<input type="checkbox" class="block bShadow-2">
		<input type="checkbox" class="block bShadow-3">
		<input type="checkbox" class="block bShadow-4">
	</div>

	<div class="result"></div>

	<script >
		window.onload = function(){
			var items = document.querySelectorAll('.flex input');
			var result = document.querySelector('.result');

			for(var i = 0; i < items.length; i++){
				items[i].addEventListener("click", getShadow);
			}

			function getShadow(e){
				var styleItem = getComputedStyle(e.target);
				result.innerHTML = styleItem.boxShadow;
			}
		}
	</script>

	<style type="text/css">
	.flex {
		display: flex;
	}
	.block {
		position: relative;
		width: 100px;
		height: 100px;
		margin: 20px;
		border: 0;
		background: #fff !important;
	}
	.block::after {
		content: '';
		width: 100%;
		height: 100%;
		position: absolute;
		background-color: #fff;
	}
	.bShadow-1{-webkit-box-shadow:0px 1px 1px 1px rgba(0,0,0,0.06);-moz-box-shadow:0px 1px 1px 1px rgba(0,0,0,0.06);box-shadow:0px 1px 1px 1px rgba(0,0,0,0.06);}
	.bShadow-2{-webkit-box-shadow:0 0 20px 0 rgba(150,150,150,.1);-moz-box-shadow:0 0 20px 0 rgba(150,150,150,.1);box-shadow:0 0 20px 0 rgba(150,150,150,.1);}
	.bShadow-3{-webkit-box-shadow:0 20px 60px -10px rgba(0,0,0,.1);-moz-box-shadow:0 20px 60px -10px rgba(0,0,0,.1);box-shadow:0 20px 60px -10px rgba(0,0,0,.1);}
	.bShadow-4{-webkit-box-shadow:0 15px 45px -9px rgba(0,0,0,0.25);-moz-box-shadow:0 15px 45px -9px rgba(0,0,0,0.25);box-shadow:0 15px 45px -9px rgba(0,0,0,0.25);}
</style>

</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 21.05.2018, 18:43
Аватар для madeas
Профессор
Отправить личное сообщение для madeas Посмотреть профиль Найти все сообщения от madeas
 
Регистрация: 13.04.2018
Сообщений: 232

Void, без библиотеки не выводит, почему-то.
А можно сделать вывод только класса bshadow, без .Block, где содержимое класса = выведенному в результат, со скобками и кроссом на новой строке? Вроде генератора
Ответить с цитированием
  #6 (permalink)  
Старый 21.05.2018, 19:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от madeas
Void, без библиотеки не выводит, почему-то.
здесь работает?
Сообщение от madeas
А можно сделать вывод только класса bshadow, без .Block,
можно
text = this.className.match(/bS\S+/)[0] + " " + $(this).css("box-shadow")

Сообщение от madeas
где содержимое класса = выведенному в результат, со скобками и кроссом на новой строке? Вроде генератора
не осилил
Ответить с цитированием
  #7 (permalink)  
Старый 21.05.2018, 19:01
Аватар для madeas
Профессор
Отправить личное сообщение для madeas Посмотреть профиль Найти все сообщения от madeas
 
Регистрация: 13.04.2018
Сообщений: 232

Ваш работает, void здесь не работает, может у меня проблема, не вижу результат просто

Последний раз редактировалось madeas, 21.05.2018 в 19:03.
Ответить с цитированием
  #8 (permalink)  
Старый 21.05.2018, 19:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

madeas,
а какой браузер?
Ответить с цитированием
  #9 (permalink)  
Старый 21.05.2018, 19:29
Аватар для void()
Профессор
Отправить личное сообщение для void() Посмотреть профиль Найти все сообщения от void()
 
Регистрация: 11.08.2017
Сообщений: 208

madeas,
1. Должно работать, проверил даже в IE. В демонстрации выше, вывод результата просто не помещается, надо прокрутить окошко (iframe), там ниже выводится.

2. Не понимаю, чего вы хотите добиться... Так?

result.innerHTML = '.bshadow { ' + styleItem.boxShadow + ' }';

Последний раз редактировалось void(), 21.05.2018 в 19:34.
Ответить с цитированием
  #10 (permalink)  
Старый 21.05.2018, 19:41
Аватар для madeas
Профессор
Отправить личное сообщение для madeas Посмотреть профиль Найти все сообщения от madeas
 
Регистрация: 13.04.2018
Сообщений: 232

рони,
Яндекс. Работает, видимо заглючил.

void(),
да, спасибо. Только хотел в более полном виде:
.bShadow-1 {
  -webkit-box-shadow:0px 1px 1px 1px rgba(0,0,0,0.06);
  -moz-box-shadow:0px 1px 1px 1px rgba(0,0,0,0.06);
  box-shadow:0px 1px 1px 1px rgba(0,0,0,0.06);
}
.bShadow-2 {
  -webkit-box-shadow:0 0 20px 0 rgba(150,150,150,.1);
  -moz-box-shadow:0 0 20px 0 rgba(150,150,150,.1);
  box-shadow:0 0 20px 0 rgba(150,150,150,.1);
}


и при нажатии на нужный input, чтобы он добавлялся или убирался из поля результата. Чтобы в конечном итоге получить несколько классов и их можно было скопировать.

Последний раз редактировалось madeas, 21.05.2018 в 19:51.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как применить свойства css к соседнему элементу thrifty (X)HTML/CSS 2 10.01.2018 17:01
Вывести кнопки button в отдельный div Sokoljr Общие вопросы Javascript 5 27.06.2016 15:45
Подскажите как вывести все свойства объекта? tiho Общие вопросы Javascript 17 15.11.2015 20:50
Как вывести свойства div значения которых равно 1? sovsem-nub Events/DOM/Window 8 16.04.2015 13:12
Не получается взять отдельный контейнер. Kortez Javascript под браузер 3 19.12.2012 06:06