Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   как сделать эффект explode с позицией fixed (https://javascript.ru/forum/jquery/46286-kak-sdelat-ehffekt-explode-s-poziciejj-fixed.html)

sashgera 04.04.2014 13:08

как сделать эффект explode с позицией fixed
 
Здравствуйте
родительский блок - выровнен по центру экрана и имеет позицию fixed
в дочернем блоке - картинка, которая открывается/закрывается с эффектом explode (разбитие/соединение кусочков картинки)

если во время анимации explode прокрутить страницу вверх или вниз - родительский блок остается фиксированным, а разбитые кусочки картинки прокручиваются вместе со страницей

как сделать так- чтобы анимация explode не прокручивалась, а имела позицию fixed, как и родительский блок
вот пример - http://www.glass-pgc.ru/Untitled-4ff.php
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="http://www.glass-pgc.ru/sashka/banner_action/effects.core.full.js"></script> 
<style>
body{height: 1000px}
</style>
<script type="text/javascript">
$(document).ready(function(){
   $("#blok1").fadeIn(4000);
   $("#blok2").show("explode", {pieces: 9}, 3000);

$("#closes").click(function () {
   $("#blok1").fadeOut(4000);
   $("#blok2").hide("explode", {pieces: 9}, 3000);
    });   

   });
</script>
<div id="blok1" style="position:fixed; left:50%;margin-left:-155px; width:310px; top:50%; margin-top:-156px; height:312px; background-color:#CDC29C; z-index:99999;">
<div id="closes" style="float: right; cursor: pointer;">x</div>
<p style="text-align:center;">Всплывающий див..</p>
<div id="blok2"><img src="http://www.glass-pgc.ru/images/stories/glass/content/install_1.jpg" width="310" height="200"  border="0"></div>
</div>

nice_try 04.04.2014 13:16

запрети прокрутку на время explode

sashgera 04.04.2014 13:21

nice_try,
где вы видите что я прошу готовый скрипт с нуля?
запретить прокрутку во время анимации explode - это не решение проблемы

рони 04.04.2014 16:17

sashgera,
откорректируйте $.effects.explode в effects.core.full.js

sashgera 04.04.2014 16:44

Цитата:

Сообщение от рони (Сообщение 306076)
sashgera,
откорректируйте $.effects.explode в effects.core.full.js

в effects.core.full.js клонированному элементу присваивал позицию fixed - анимация после этого перестает работать

.......
.clone()
.appendTo('body')
.wrap('<div></div>')
.css({
position: 'absolute', // fixed
......

рони 04.04.2014 16:53

sashgera,
теплее теплее ))) но не то

sashgera 04.04.2014 17:00

рони,
.addClass('effects-explode')
.css({
position: 'absolute', //заменил на fixed

почти то-же самое

рони 04.04.2014 17:10

Цитата:

Сообщение от sashgera
почти то-же самое

при открытии окна наверно всё ок уже? тока при закрытии ещё должно глючить -- если анимация началась она уже останется на месте - так? тогда осталось отработать скролл

рони 04.04.2014 17:27

sashgera,
пока вам картинка для надежды на то что выход есть :write:

sashgera 04.04.2014 17:27

рони,
да, когда скролл в самом верху и началась анимация она не уже не пропадает (остается в родительском диве)
но если страницу проскроллить вниз и запустить анимацию, то effects-explode опускается ниже родительского дива
вот- http://www.glass-pgc.ru/Untitled-4ff.php


Часовой пояс GMT +3, время: 13:57.