zoukankan      html  css  js  c++  java
  • 模拟app上商品详情点击图片放大并且可以切换大图

    主要使用swiper插件,这里使用各小技巧,就是用两个swiper容器,点击一个小图容器,去让大图容器展示出来

    小图容器

     <div class="q_banner">
    
                <div class="swiper-container">
                    <div class="swiper-wrapper">
    
                        <div class="swiper-slide preview">
                            <a href="images/img_01.jpg"><img src="images/img_01.jpg" alt="" /></a>
    
                        </div>
                        <div class="swiper-slide preview">
                            <a href="images/img_02.jpg"><img src="images/img_02.jpg" alt="" /></a>
    
                        </div>
                        <div class="swiper-slide preview">
                            <a href="images/img_03.jpg"><img src="images/img_03.jpg" alt="" /></a>
                        </div>
    
                    </div>
                    <!-- Add Pagination -->
                    <div class="swiper-pagination"></div>
                </div>
            </div>

    遮罩层

     <div class="mask"></div>

    大图容器

    <div class="wrap_big">
            <div class="swiper-container_big">
                <div class="swiper-wrapper">
                    <div class="swiper-slide">
                        <img src="images/img_01.jpg" alt="" />
                    </div>
                    <div class="swiper-slide">
                        <img src="images/img_02.jpg" alt="" />
                    </div>
                    <div class="swiper-slide">
                        <img src="images/img_03.jpg" alt="" />
                    </div>
    
                </div>
               
            </div>
        </div>

    小图切换js

       <!-- photo Swiper -->
        <script>
            var swiper = new Swiper('.q_banner .swiper-container', {
                pagination: '.swiper-container .swiper-pagination',
                paginationClickable: true
    
            });
        </script>

    点击小图展示大图并且切换js

    $(function(){
        $('.q_banner .swiper-slide').each(function(index){
            $(this).click(function(){
                $('.mask').show();
                var thisIndex = index;
                $('.wrap_big').show();
                $('html,body').css('overflow','hidden');
                var swiper = new Swiper('.wrap_big .swiper-container_big', {
                    paginationClickable: true,
                    initialSlide:thisIndex
                });
            });
        });
        $('.mask').click(function(){
            $('.mask').hide();
            $('.wrap_big').hide()
        });
        $('.wrap_big').each(function(index){
            $(this).click(function(){
                $('html,body').css('overflow','auto');
                $(this).hide();
                $('.mask').hide();
    
            });
        });
    });

    部分样式

    .mask{  100%; height: 100%; background: rgba(0,0,0,1); position:fixed; top:0; left: 0; z-index: 9998; display: none;}
    .wrap_big{  100%; position: fixed; left: 0; top: 50%; transform: translate(0,-50%); -webkit-transform: translate(0,-50%); z-index: 9999; display: none; }
    .swiper-container { 100%; }
    .swiper-wrapper{ 100%;}
    .swiper-slide { 100%; }
    .swiper-pagination-bullet-active{ background: red;}
     

    测下来整天效果还是很不错了,基本上手机都会支持!

    美中不足的地方就是大图不能手动放大与缩放!

    有好的处理办法的朋友可以留言告知如何如理,非常感谢

  • 相关阅读:
    java第五周作业
    ajax初探--实现简单实时验证
    Html+CSS二周目--->常用概念
    Html+CSS--->第一周初探
    Servlet细节整合
    多线程基础
    设计模式之单例模式(Singleton)
    配置文件Java读写
    Java基础之IO流
    JDBC基础
  • 原文地址:https://www.cnblogs.com/djdliu/p/5691928.html
Copyright © 2011-2022 走看看