Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.09.2015, 16:37
Аспирант
Отправить личное сообщение для Aleksanderj Посмотреть профиль Найти все сообщения от Aleksanderj
 
Регистрация: 14.06.2013
Сообщений: 70

Как при изменении div class выполнять анимацию у дочерних элементов?
Здравствуйте. Имеется FlexSlider Подскажите как анимировать блоки с текстами "Анимированный блок 1" и "Анимированный блок 2" при помощи javascript,в момент когда добавляется
<li class="flex-active-slide">
, т.е. показывается тот или иной слайд? Почитал про MutationObserver ... и если я правильно понял, то при помощи него можно прослушивать изменения DOM. Как то можно через него такое реализовать или я ошибаюсь и читаю не то что нужно? Буду очень благодарен за ответы.
Ответить с цитированием
  #2 (permalink)  
Старый 10.09.2015, 17:21
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,071

Aleksanderj,
так пропишите свою анимацию в css
http://jsfiddle.net/ja897agn/1/

Последний раз редактировалось рони, 10.09.2015 в 17:29.
Ответить с цитированием
  #3 (permalink)  
Старый 10.09.2015, 17:56
Аспирант
Отправить личное сообщение для Aleksanderj Посмотреть профиль Найти все сообщения от Aleksanderj
 
Регистрация: 14.06.2013
Сообщений: 70

рони,
я для нее создавал css анимацию, но на одном слайде много анимированных элементов, которым приходится то ждать transition-delay, то останавливаться в нужный момент, то снова двигаться и это не есть хорошо с точки зрения, я думаю, нагрузки. Взглянул на другие проекты, там никто почему то не использует css3 анимацию, все пользуются js написанным для каждого анимированного элемента. GSAP тоже хоть и хвалят, но только хвалят и не больше. Вот я и взвесил все за и против , и решил на деле тоже посмотреть стоит ли использовать js или css3 анимацию. Притом , что при первой загрузке странице эта анимация иногда подвисает. Во время js-анимации движение от одной точки к другой такого не происходит и можно воспользоваться большими возможностями.
Ответить с цитированием
  #4 (permalink)  
Старый 10.09.2015, 18:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,071

Aleksanderj,
Callback API => http://www.woothemes.com/flexslider/
пишите свою анимацию в after: function(){сюда},
Ответить с цитированием
  #5 (permalink)  
Старый 10.09.2015, 18:15
Аспирант
Отправить личное сообщение для Aleksanderj Посмотреть профиль Найти все сообщения от Aleksanderj
 
Регистрация: 14.06.2013
Сообщений: 70

рони,
а маленький пример можно на тех двух слайдах, если вас не затруднит
Ответить с цитированием
  #6 (permalink)  
Старый 10.09.2015, 18:41
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,071

FlexSlider анимация активного блока
Aleksanderj,
<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title> - jsFiddle demo</title>
  <script type='text/javascript' src='http://code.jquery.com/jquery-1.11.0.js'></script>
  <script type='text/javascript' src="https://cdnjs.cloudflare.com/ajax/libs/flexslider/2.5.0/jquery.flexslider-min.js"></script>
  <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css">
  <style type='text/css'>
    *, *:after, *:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
body, html, main {
background:#fff;
height: 100%;
font-size: 12px;
font-weight: 300;
line-height: 26px;
}
.background-sky, .background-night {
	background-color: #07a8dd;
    display: block;
    font-size: 16px;
    overflow: hidden;
    position: relative;
    text-align: center;
    width: 100%;
	height: 520px;
}
.background-night {
    background-color: #59CB59;
}
.slides li li{
   margin-left : -140%;
}


</style>
<script type='text/javascript'>
$(window).load(function(){
$('.slides li li').animate({
    'margin-left': '0%'
}, 800)
$('.flexslider').flexslider({
    animation: "fade",
    directionNav: false,
    controlNav: false,
    slideshowSpeed: 7000,
    animationSpeed: 600,
    before: function() {
        $('.slides li li').css({
            'margin-left': '-140%'
        })
    },
    after: function() {
        $('li.flex-active-slide li').animate({
            'margin-left': '0%'
        }, 800)
    }
});

});

</script>

</head>
<body>
  <div class="featured-work-slider flexslider">
    <ul class="slides">
		<li>
<div class="background-sky">
		<h1 class="hero-title1">1 слайд</h1>
    <ul class="animate-block">
        <li>
            Анимированный блок 1
        </li>
     </ul>
</div>
	 </li>
	 <li>
<div class="background-night">
		<h1 class="hero-title2">2 слайд</h1>
    <ul class="animate-block2">
        <li>
            Анимированный блок 2
        </li>
     </ul>
</div>
	 </li>
	 </ul>

</div>

</body>

</html>

Последний раз редактировалось рони, 10.09.2015 в 18:45.
Ответить с цитированием
  #7 (permalink)  
Старый 10.09.2015, 18:49
Аспирант
Отправить личное сообщение для Aleksanderj Посмотреть профиль Найти все сообщения от Aleksanderj
 
Регистрация: 14.06.2013
Сообщений: 70

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



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать что при получении фокуса элемент div был полностью виден на эране kraw Events/DOM/Window 2 06.02.2012 23:42
Как при каждом изменении переменной выводить её?? Tums37 Общие вопросы Javascript 2 08.10.2011 23:29
Как сделать, чтобы при удалении div браузер не перепрыгивал наверх станицы EvgeniyRRU Events/DOM/Window 4 02.10.2011 12:42
Не та кодировка при изменении элементов DOM, загружаемых через ajax ShootNik Серверные языки и технологии 16 14.10.2010 09:55
как поменять цвет элементов div с помощью ajax? uspehovna AJAX и COMET 12 20.08.2010 17:21