 
			
				24.08.2017, 08:16
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 07.08.2017 
					
					
					
						Сообщений: 7
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				hamburger и ripple
			 
			
		
		
		
		Всем привет, подскажите пожалуйста как сделать так что бы при нажатии на ripple(пульсация) так же запускалась анимация гамбургера? То есть когда я нажимаю на гамбургер анимация и ripple срабатывают, но когда я нажимаю на ripple анимация ripple срабатывает но анимация гамбургера нет) 
Как бы эти 2 кода объеденить?
 
/*Анимация гамбургера*/
$(function () {
    
    $('.hamburger').on('click', function() {
        $(this).find('.hamburger--line').toggleClass('hamburger--line__x');
    });
    
});
/*Анимация нажатия*/
$(document).on('click', '.ripple', function(e) {
 
    var $ripple = $('<span class="rippling" />'),
    $button = $(this),
    btnOffset = $button.offset(),
    xPos = e.pageX - btnOffset.left,
    yPos = e.pageY - btnOffset.top,
    size = 1,
    animateSize = parseInt(Math.max($button.innerWidth(), $button.innerHeight()) * Math.PI);
 
    $ripple.css({
        top: yPos,
        left: xPos,
        width: size,
        height: size,
        backgroundColor: $button.attr("ripple-color"),
        opacity: $button.attr("ripple-opacity")
    })
    .appendTo($button)
    .animate({
        width: animateSize,
        height: animateSize,
        // transform: 'scale(' + animateSize + ')',
        opacity: 0
      }, 500, function() {
        $(this).remove();
      });
});
на 1-ом изображении я нажимаю рядом с гамбургером, ripple срабатывает но гамбургер не анимирует 
на 2-ом изображении я нажимаю на гамбургер  
		
	
		
		
			
		
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				24.08.2017, 09:42
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 04.12.2012 
					
					
					
						Сообщений: 3,841
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		GTRka, нужно вызвать событие, к которому привязана анимация, ease же.
 
/*Анимация гамбургера*/
$(function () {
    $('.hamburger').on('click', function(e) {
        if(!e.isTrigger)//если вызвано не скриптом
            $('.ripple').click();
        $(this).find('.hamburger--line').toggleClass('hamburger--line__x');
    });
    
});
С .ripple тоже самое нужно сделать, только кликать на гамбургере.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				24.08.2017, 10:19
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 07.08.2017 
					
					
					
						Сообщений: 7
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Nexus, 
 Сделал вот так, теперь при нажатии на гамбургер он не анимирует, но если нажать рядом с гамбургером(ripple),гамбургер анимирует. 
А нужно что бы куда бы я не нажал , на ripple или же на гамбургер была анимация обоих компонентов. 
P.S. я не особо силен в этом, я только учусь)
 
/*Анимация гамбургера*/
$(function () {
    
    $('.hamburger').on('click', function(e) {
    	if(!e.isTrigger) //если вызвано не скриптом
        $('.ripple').click();
        $(this).find('.hamburger--line').toggleClass('hamburger--line__x');
    });
    
});
/*Анимация нажатия*/
$(document).on('click', '.ripple', function(e) {
	if(!e.isTrigger) //если вызвано не скриптом
        $('.hamburger').click();
	var $ripple = $('<span class="rippling" />'),
	$button = $(this),
	btnOffset = $button.offset(),
	xPos = e.pageX - btnOffset.left,
	yPos = e.pageY - btnOffset.top,
	size = 1,
	animateSize = parseInt(Math.max($button.innerWidth(), $button.innerHeight()) * Math.PI);
	$ripple.css({
		top: yPos,
		left: xPos,
		width: size,
		height: size,
		backgroundColor: $button.attr("ripple-color"),
		opacity: $button.attr("ripple-opacity")
	})
	.appendTo($button)
	.animate({
		width: animateSize,
		height: animateSize,
        // transform: 'scale(' + animateSize + ')',
        opacity: 0
      }, 500, function() {
      	$(this).remove();
      });
});
 
		
	
		
		
		
		
		
		
	
		
			
			
	
			
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
	
		
	
		
		
		
			
			 
			
				24.08.2017, 11:49
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 07.08.2017 
					
					
					
						Сообщений: 7
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Белый шум, 
 С параметром ран не получается(( 
вот html
 
<div class="flex_hero">
	<div class="flex-left">
		<div class="btn-round ripple menu">
			<div class="hamburger">
				<div class="hamburger--line"></div>
			</div>
		</div>
	</div>
</div>
  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				24.08.2017, 12:17
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.01.2012 
					
					
					
						Сообщений: 499
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от GTRka
			 
		
	 | 
 
	
		Белый шум, 
 С параметром ран не получается((
	 | 
 
	
 
 Добавил e.stopPropagation(); и console.log(); в оба обработчика - судя по консоли, отрабатывают оба. А что там у вас с анимацией - смотрите код анимации.
 
<html><body>
<script src="//code.jquery.com/jquery-latest.min.js"></script>
<div class="flex_hero">
	<div class="flex-left">
		<div class="btn-round ripple menu" style="width:300px;height:100px;background-color:red;">
			<div class="hamburger">
				<div class="hamburger--line" style="width:200px;height:10px;background-color:yellow;"></div>
			</div>
		</div>
	</div>
</div>
<script>
/*Анимация гамбургера*/
$(function () {
     
    $('.hamburger').on('click', function(e) {
e.stopPropagation();
        if(!e.isTrigger) //если вызвано не скриптом
        $('.ripple').click();
console.log('нажат гамбургер');
        $(this).find('.hamburger--line').toggleClass('hamburger--line__x');
    });
     
});
/*Анимация нажатия*/
$(document).on('click', '.ripple', function(e) {
 e.stopPropagation();
    if(!e.isTrigger) //если вызвано не скриптом
        $('.hamburger').click();
console.log('нажат риппл');
    var $ripple = $('<span class="rippling" />'),
    $button = $(this),
    btnOffset = $button.offset(),
    xPos = e.pageX - btnOffset.left,
    yPos = e.pageY - btnOffset.top,
    size = 1,
    animateSize = parseInt(Math.max($button.innerWidth(), $button.innerHeight()) * Math.PI);
 
    $ripple.css({
        top: yPos,
        left: xPos,
        width: size,
        height: size,
        backgroundColor: $button.attr("ripple-color"),
        opacity: $button.attr("ripple-opacity")
    })
    .appendTo($button)
    .animate({
        width: animateSize,
        height: animateSize,
        // transform: 'scale(' + animateSize + ')',
        opacity: 0
      }, 500, function() {
        $(this).remove();
      });
});
</script>
</body></html>
 
		
	
		
		
		
		
		
		
	
		
			
			
	
			
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |