Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.09.2017, 15:27
Интересующийся
Отправить личное сообщение для breeze125 Посмотреть профиль Найти все сообщения от breeze125
 
Регистрация: 04.09.2017
Сообщений: 12

Jquery wrapAll(), unwrap()
Ребят очень нужна ваша помощь. Мне нужно чтобы на разрешениях больше 768 мои блоки fc и fd оборочивались в соответствующие обертки. В чем сложность, мне нужно это делать при resize окна, сейчас на таком скрипте при сужении или расширении экрана, оберток добавляется нескончаемое число )

$(window).on('resize', function(){
if($(window).width() <= 768) {
$('.advantages-item').unwrap();
} else{
$('.fd').wrapAll('<div class="advantages-wrap-left">');
$('.fc').wrapAll('<div class="advantages-wrap-right">');
}
}).trigger('resize');


<section class="advantages">

<div class="wrapper">

<div class="advantages-container">

<div class="advantages-item fd">
<span class="icon icon-faucet"></span>
<h5 class="h5">Business Philosophy</h5>
<p class="advantages-item__text">lorem</p>
</div>

<div class="advantages-item fd">
<span class="icon icon-faucet"></span>
<h5 class="h5">Innovation</h5>
<p class="advantages-item__text"></p>
<p class=" advantages-item--black__text"</p>
</div>

<div class="advantages-item fd">
<div class="advantages-item__img-wrap">
<img src="img/about-1.jpg" alt="alt">
</div>
</div>

<div class="advantages-item fc">
<span class="icon icon-faucet"></span>
<h5 class="h5">Accessories</h5>
<p class="advantages-item--blue__text"></p>
<p class="advantages-item--blue__text"></p>
</div>

<div class="advantages-item fc">
<div class="vogt-numbers-item--about">
<div class="vogt-numbers item__number">8374</div>
<p class="vogt-numbers-item__text"></p>
</div>
<div class="vogt-numbers-item vogt-numbers-item--about">
<div class="vogt-numbers-item__number">82K</div>
<p class="vogt-numbers-item__text"></p>
</div>
<div class="vogt-numbers-item vogt-numbers-item--about">
<div class="vogt-numbers-item__number">6</div>
<p class="vogt-numbers-item__text"></p>
</div>

</div>

</div>

</div>

</section>

Последний раз редактировалось breeze125, 04.09.2017 в 15:43.
Ответить с цитированием
  #2 (permalink)  
Старый 04.09.2017, 15:43
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

window.matchMedia('(max-width: 768px)').addListener(function(e){
		if(e.matches) {
			$('.advantages-item').unwrap();
		}
		else{
			$('.fd').wrap('<div class="advantages-wrap-left"></div>');
			$('.fc').wrap('<div class="advantages-wrap-right"></div>');
		}
	})
Ответить с цитированием
  #3 (permalink)  
Старый 04.09.2017, 15:47
Интересующийся
Отправить личное сообщение для breeze125 Посмотреть профиль Найти все сообщения от breeze125
 
Регистрация: 04.09.2017
Сообщений: 12

Спасибо за помощь, к сожалению с таким скриптом элементы fc и fd не берутся в обертки.
Ответить с цитированием
  #4 (permalink)  
Старый 04.09.2017, 15:54
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

<html>
<head>
	<style>
		.advantages-wrap-left, .advantages-wrap-right{
border: 1px solid red;
		}
	</style>
</head>
<body>
	
<section class="advantages">

	<div class="wrapper">

		<div class="advantages-container">

			<div class="advantages-item fd">
				<span class="icon icon-faucet"></span>
				<h5 class="h5">Business Philosophy</h5>
				<p class="advantages-item__text">lorem</p>
			</div>

			<div class="advantages-item fd">
				<span class="icon icon-faucet"></span>
				<h5 class="h5">Innovation</h5>
				<p class="advantages-item__text"></p>
				<p class=" advantages-item--black__text"</p>
				</div>

				<div class="advantages-item fd">
					<div class="advantages-item__img-wrap">
						<img src="img/about-1.jpg" alt="alt">
					</div>
				</div>

				<div class="advantages-item fc">
					<span class="icon icon-faucet"></span>
					<h5 class="h5">Accessories</h5>
					<p class="advantages-item--blue__text"></p>
					<p class="advantages-item--blue__text"></p>
				</div>

				<div class="advantages-item fc">
					<div class="vogt-numbers-item--about">
						<div class="vogt-numbers item__number">8374</div>
						<p class="vogt-numbers-item__text"></p>
					</div>
					<div class="vogt-numbers-item vogt-numbers-item--about">
						<div class="vogt-numbers-item__number">82K</div>
						<p class="vogt-numbers-item__text"></p>
					</div>
					<div class="vogt-numbers-item vogt-numbers-item--about">
						<div class="vogt-numbers-item__number">6</div>
						<p class="vogt-numbers-item__text"></p>
					</div>

				</div>

			</div>

		</div>

	</section>

	<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
	<script>
		window.matchMedia('(max-width: 768px)').addListener(function(e){
			if(e.matches) {
				$('.advantages-item').unwrap();
			}
			else{
				$('.fd').wrap('<div class="advantages-wrap-left"></div>');
				$('.fc').wrap('<div class="advantages-wrap-right"></div>');
			}
		})

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


а у меня работает, чудеса да?
Ответить с цитированием
  #5 (permalink)  
Старый 04.09.2017, 16:07
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

https://codepen.io/anon/pen/Mvxzwm
вот, подергайте экран, ато тут не видно.
Ответить с цитированием
  #6 (permalink)  
Старый 04.09.2017, 16:14
Интересующийся
Отправить личное сообщение для breeze125 Посмотреть профиль Найти все сообщения от breeze125
 
Регистрация: 04.09.2017
Сообщений: 12

Вы извините я наверно неправильно объяснил проблему свою. Я там выше первый пост поправил. И мне нужно, чтобы к примеру для трех блоков fc создавалась одна обертка, а не 3 для каждой. Я попробовал метод wrapAll(), но теперь при resize окна оберток создается бесконечность.
Ответить с цитированием
  #7 (permalink)  
Старый 04.09.2017, 16:18
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

function resize(){
	if($(window).width() <= 768) {
		$('.advantages-item').unwrap();
	} else{
		$('.fd').wrapAll('<div class="advantages-wrap-left"></div>');
		$('.fc').wrapAll('<div class="advantages-wrap-right"></div>');
	}
}
window.matchMedia('(max-width: 768px)').addListener(function(e){
	if(e.matches) resize();
	else resize();
})
resize();


Тогда так
Ответить с цитированием
  #8 (permalink)  
Старый 04.09.2017, 16:25
Интересующийся
Отправить личное сообщение для breeze125 Посмотреть профиль Найти все сообщения от breeze125
 
Регистрация: 04.09.2017
Сообщений: 12

Почти то, что нужно. Но почему-то удаляется секция .advantages-container, её нужно на месте оставлять.
Ответить с цитированием
  #9 (permalink)  
Старый 04.09.2017, 16:34
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

function resize(){
	if($(window).width() <= 768) {
		$('.advantages-wrap-left, .advantages-wrap-right').contents().unwrap();
	} else{
		$('.fd').wrapAll('<div class="advantages-wrap-left"></div>');
		$('.fc').wrapAll('<div class="advantages-wrap-right"></div>');
	}
}
window.matchMedia('(max-width: 768px)').addListener(function(e){
	if(e.matches) resize();
	else resize();
})
resize();
Ответить с цитированием
  #10 (permalink)  
Старый 04.09.2017, 16:39
Интересующийся
Отправить личное сообщение для breeze125 Посмотреть профиль Найти все сообщения от breeze125
 
Регистрация: 04.09.2017
Сообщений: 12

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



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SOS! Не работает скрипт на сайте и не запускается видео Arin Библиотеки/Тулкиты/Фреймворки 6 22.06.2017 14:41
jquery и jquery ui Miraliko jQuery 1 29.04.2017 16:21
Динамический подсчет в таблице muraig jQuery 5 11.10.2014 16:54
Подскажите unwrap для версии jquery 1.3.2 Randomizer jQuery 4 07.10.2012 17:47
Вопрос поддержки старых методов jQuery antonM jQuery 1 04.10.2012 00:08