Цитата:
P.S.: Чем и оправдывается сложность анимации в ней… P.P.S.: И является тестом: Являетесь ли Вы читателем самого популярного журнала и компьютера нашего поколения… |
Цитата:
P.S. Плавную смену картинок - другим на заметку - я додумался сам как сделать: беру дополнительный див, приклепляю к нему фон. А второй див сверху по скрипту Paguo-86PK - и фон то появляется, то исчезает, меняя свои картинки. В итоге получилось примерно что хотелось: фоновые картинки плавно появляются и исчезают. Единственное, хочется, чтобы была пауза когда картинка уже появилась, а не была непрерывная смена картинок. |
Более аккуратный вариант
<style> .ghost_thumb { height :120px; } .ghost_thumb img { position :absolute; } </style> <script> var Ghosting = function(ghosts) { var Thumbs = []; function Slider() { Thumbs.forEach(function(thumb) { var gap = thumb.pause + thumb.fading; thumb.phase = (thumb.phase + 1) % (gap * thumb.slides.length); var phase = thumb.phase % gap; var index = (thumb.phase - phase) / gap; var next = (index + 1) % thumb.slides.length; if(phase >= thumb.pause) thumb.slides[index].style.opacity = 1.0 - (phase - thumb.pause) / thumb.fading, thumb.slides[next].style.opacity = 0.0 + (phase - thumb.pause) / thumb.fading; }); setTimeout(Slider.bind(this), 10); } ghosts.forEach(function(thumb) { var props = thumb.split(/\s+/); var el = document.getElementById(props[0]); if(el) { var imgs = el.getElementsByTagName("img"); if(imgs.length) { Thumbs.push({ frame : el, slides : imgs, fading : props[1], pause : props[2], phase : 0 }); for(var i = 0; i < imgs.length; ++ i) imgs[i].style.opacity = 0; } } Slider(); }); } </script> <body onload='Ghosting(["Gallery_two 25 3","Gallery_three 15 9"])'> <p>Плавность - 25, Пауза - 3</p> <div id=Gallery_two class=ghost_thumb> <img src='http://javascript.ru/forum/images/ca_serenity/misc/logo.gif' /> <img src='http://a.disquscdn.com/1489123367/images/noavatar92.png' /> </div> <p>Плавность - 15, Пауза - 9</p> <div id=Gallery_three class=ghost_thumb> <img src='http://javascript.ru/forum/images/ca_serenity/misc/logo.gif' /> <img src='http://a.disquscdn.com/1489123367/images/noavatar92.png' /> <img src='http://javascript.ru/forum/image.php?u=3602&dateline=1489262044' /> </div> </body> |
смена картинок с opacity эффектом
:write:
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> .carousel{ width: 350px; height: 170px; position: relative; } .carousel img{ position: absolute; width: 100%; height: 100%; opacity: 0; border-radius: 8px; box-sizing: border-box; border: #8B4513 2px solid; transition: opacity .8s ease-in; } .carousel img.show{ opacity: 1; } .carousel.vertical{ width: 170px; height: 350px; } </style> <script> window.addEventListener("DOMContentLoaded", function() { [].forEach.call(document.querySelectorAll(".carousel"), function(el) { var img = el.querySelectorAll("img"), len = img.length, i = len - 1, p = el.dataset.pause || 5E3; !function g() { img[i].classList.remove("show"); i = ++i % len; img[i].classList.add("show"); window.setTimeout(g, p) }() }) }); </script> </head> <body> <div class="carousel" data-pause="3000"> <img src="http://sport-magazindom.ru/wp-content/uploads/2016/05/1cbe44f2ac36cff2da2bbf7356b4a004.jpg" alt=""> <img src="http://img-fotki.yandex.ru/get/5640/35900228.10c/0_7388e_3ab59b4a_XL.jpeg.jpg" alt=""> <img src="http://1.bp.blogspot.com/-aleHkBUuqOI/VY0HrCytsXI/AAAAAAAAq1g/f2emGtdqdWo/s640/2015-06-05_0145.jpg" alt=""> <img src="http://www.fotki.ykt.ru/albums/userpics/2013/11-18/1384739526_image.jpg" alt=""> </div> <div class="carousel vertical" data-pause="1000"> <img src="https://im0-tub-ru.yandex.net/i?id=164eda9533e043b61c9abb3e9fb9ecc6-l&n=13" alt=""> <img src="http://static.mnogonado.net/images/img.php?w=250&l=%2Fstore%2Fimage%2F800x600_qdv_57108c999ba0b1775c4bfe263023fb6a_1474795-404.png" alt=""> <img src="http://rugirlz.com/pics/hv_dp20088034.jpg" alt=""> <img src="https://im1-tub-ru.yandex.net/i?id=34d38102784fbb45657d73def5d2178f-l&n=13" alt=""> </div> </body> </html> |
Спасибо, Рони и Радио-86РК, вам уже плюсики сайт не дает ставить. Другие за меня поставят! :) )))
Вы немного отклонились от темы и от моего задания: менять нужно именно фоновые картинки. Я по этой поисковой фразе из Гугла сюда и пришел. Хороший скрипт по смене картинок у меня есть, а вот к фоновым картинкам он не подошел...потому и начал искать))). В любом случае всем спасибо за помощь, по другим вопросам я сам также "за лайки" помогал людям на форумах! ))) P.S. Как я понимаю, в последний двух постах с кодом нужно добавить "document.getElementById(" там где надо, чтобы была именно фоновая картинка, а не img. А где это надо - кому надо найдет))) |
смена фона с opacity эффектом
e-partner,
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> .carousel{ width: 350px; height: 170px; position: relative; opacity: 0; border-radius: 8px; box-sizing: border-box; border: #8B4513 2px solid; transition: opacity .8s ease-in; background-size: 350px 170px; } .carousel.show{ opacity: 1; } .carousel.vertical{ width: 170px; height: 350px; background-size: 170px 350px; } </style> <script> window.addEventListener("DOMContentLoaded", function() { [].forEach.call(document.querySelectorAll(".carousel"), function(el) { var img = JSON.parse(el.dataset.src), len = img.length, i = len - 1, p = el.dataset.pause || 5E3; function g() { i = ++i % len; el.style.backgroundImage = "url(" + img[i] + ")"; el.classList.add("show"); window.setTimeout(k, p) } g(); function k() { el.classList.remove("show"); window.setTimeout(g, 800) } }) }); </script> </head> <body> <div class="carousel" data-pause="3000" data-src='["http://sport-magazindom.ru/wp-content/uploads/2016/05/1cbe44f2ac36cff2da2bbf7356b4a004.jpg", "http://img-fotki.yandex.ru/get/5640/35900228.10c/0_7388e_3ab59b4a_XL.jpeg.jpg", "http://1.bp.blogspot.com/-aleHkBUuqOI/VY0HrCytsXI/AAAAAAAAq1g/f2emGtdqdWo/s640/2015-06-05_0145.jpg", "http://www.fotki.ykt.ru/albums/userpics/2013/11-18/1384739526_image.jpg"]'> </div> <div class="carousel vertical" data-pause="5000" data-src='[ "https://im0-tub-ru.yandex.net/i?id=164eda9533e043b61c9abb3e9fb9ecc6-l&n=13", "http://static.mnogonado.net/images/img.php?w=250&l=%2Fstore%2Fimage%2F800x600_qdv_57108c999ba0b1775c4bfe263023fb6a_1474795-404.png", "http://rugirlz.com/pics/hv_dp20088034.jpg", "https://im1-tub-ru.yandex.net/i?id=34d38102784fbb45657d73def5d2178f-l&n=13"]'> </div> </body> </html> |
Цитата:
Использовали css3-трюки, с которыми я вообще поленился некогда разбираться ещё при начале распространения html5 и svg.;) P.S.: Сейчас нужно разобраться с собственным DVR-плагином. А то преждний писал впопыхах, тяп-ляп и как попало, чтобы попрактиваться со Squirrel на досуге…:blink: Теперь расплачиваюсь и пишу всё заново:write: И спотыкаюсь всюду. Ползу медленнее черепахи:D |
Часовой пояс GMT +3, время: 13:57. |