Плавная смена изображения при клике
Доброго всем дня. Подскажите как реализовать плавную смену изображений.
Есть 4 изображения: первые две - уменьшенные миниатюры вторых. При клике на миниатюры изменяются большие изображения. Но сейчас меняются резко. Как добавить плавности в этот процесс? Немного кода html <img src="img/p1.png" class="n_p_1" alt="" />(уменьшенное изображение) <img src="img/p2.png" class="n_p_2" alt="" />(уменьшенное изображение) <img src="img/p1.png" class="f_p_1" alt="" />(100% изображение) <img src="img/p2.png" class="f_p_2" alt="" />(100% изображение) js $(".n_p_1").click(function(){ $(".f_p_1").show(); $(".f_p_2").hide(); }); $(".n_p_2").click(function(){ $(".f_p_2").show(); $(".f_p_1").hide(); }); и css .f_p_2, { display: none; } |
Kirilbl4,
а если в show и hide передавать время? |
если поставлю show(1000), то изображение будет появляться снизу слева, а это не есть гуд, а если вместо 1000 прописать 2s, то скрипт отрубается и не работает.
|
Kirilbl4,
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> .n_p{ height: 50px; width: auto; } .f_p{ -webkit-transition: all .8s ease-in-out; -moz-transition: all .8s ease-in-out; -o-transition: all .8s ease-in-out; transition: all .8s ease-in-out; -webkit-transform: scale(0); -moz-transform: scale(0); -o-transform: scale(0); transform: scale(0); position: absolute; height: 80%; width: auto; } .show{ -webkit-transform: scale(1); -moz-transform: scale(1); -o-transform: scale(1); transform: scale(1); } </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> <script> $(function(){ $(".n_p").on("click", function() { var i = $(".n_p").index(this); $(".f_p").not($(".f_p").eq(i).addClass("show")).removeClass("show") }) }) </script> </head> <body> <img src="http://www.tecmundo.com.br/imagens/2013/5/materias/3671527171051-t250.jpg" class="n_p" alt="" /> <img src="http://cs5.pikabu.ru/images/big_size_comm/2015-10_2/1444226708114674995.jpg" class="n_p" alt="" /> <img src="http://www.tecmundo.com.br/imagens/2013/5/materias/3671527171051-t250.jpg" class="f_p show" alt="" /> <img src="http://cs5.pikabu.ru/images/big_size_comm/2015-10_2/1444226708114674995.jpg" class="f_p" alt="" /> </body> </html> |
О, спасибо, че то я про присвоение класса и не подумал. А можно как то анимацию заменить? Вот тут есть отличный пример в блоке где выбор моделей и цветов. http://www.iphone-rigt.ru/
|
Kirilbl4,
css учите или ищите <!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> .n_p{ height: 50px; width: 100px; } .f_p{ -webkit-transition: all .8s ease-in-out; -moz-transition: all .8s ease-in-out; -o-transition: all .8s ease-in-out; transition: all .8s ease-in-out; opacity: 0; position: absolute; height: 250px; width: 500px; } .show{ opacity: 1; } </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> <script> $(function(){ $(".n_p").on("click", function() { var i = $(".n_p").index(this); $(".f_p").not($(".f_p").eq(i).addClass("show")).removeClass("show") }) }) </script> </head> <body> <img src="http://www.tecmundo.com.br/imagens/2013/5/materias/3671527171051-t250.jpg" class="n_p" alt="" /> <img src="http://cs5.pikabu.ru/images/big_size_comm/2015-10_2/1444226708114674995.jpg" class="n_p" alt="" /> <img src="http://www.tecmundo.com.br/imagens/2013/5/materias/3671527171051-t250.jpg" class="f_p show" alt="" /> <img src="http://cs5.pikabu.ru/images/big_size_comm/2015-10_2/1444226708114674995.jpg" class="f_p" alt="" /> </body> </html> |
супер, огромаднейшее спасибо
|
Часовой пояс GMT +3, время: 13:24. |