zoukankan      html  css  js  c++  java
  • 问题:Swiper父容器隐藏时实例化组件,组件滑动失效

    解决办法:初始化组件时,配置 observe true、observeParents true。

    observe参数

    启动动态检查器(OB/观众/观看者),当改变swiper的样式(例如隐藏/显示)或者修改swiper的子元素时,自动初始化swiper。

    observeParents参数

    将observe应用于Swiper的父元素。当Swiper的父元素变化时,例如window.resize,Swiper更新。

     

    https://www.swiper.com.cn/api/observer/218.html

    https://www.swiper.com.cn/api/observer/219.html

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Title</title>
     6     <link href="https://cdn.staticfile.org/Swiper/4.4.1/css/swiper.min.css" rel="stylesheet">
     7     <script src="https://cdn.staticfile.org/Swiper/4.4.1/js/swiper.min.js"></script>
     8 </head>
     9 <body>
    10 <button onclick="toggle(this)">切换显示/隐藏swiper</button>
    11 <button onclick="toggleParent(this)">切换显示/隐藏swiper父容器</button>
    12 <div id="popup" style="display: none">
    13     <div class="swiper-container" style="display: block">
    14         <div class="swiper-wrapper">
    15             <div class="swiper-slide"><img src="http://h5.descente-china.com.cn/images/Slideshow_Daniel/Slideshow_Daniel001.jpg" alt=""></div>
    16             <div class="swiper-slide"><img src="http://h5.descente-china.com.cn/images/Slideshow_Daniel/Slideshow_Daniel002.jpg" alt=""></div>
    17             <div class="swiper-slide"><img src="http://h5.descente-china.com.cn/images/Slideshow_Daniel/Slideshow_Daniel003.jpg" alt=""></div>
    18             <div class="swiper-slide"><img src="http://h5.descente-china.com.cn/images/Slideshow_Daniel/Slideshow_Daniel004.jpg" alt=""></div>
    19             <div class="swiper-slide"><img src="http://h5.descente-china.com.cn/images/Slideshow_Daniel/Slideshow_Daniel005.jpg" alt=""></div>
    20             <div class="swiper-slide"><img src="http://h5.descente-china.com.cn/images/Slideshow_Daniel/Slideshow_Daniel006.jpg" alt=""></div>
    21             <div class="swiper-slide"><img src="http://h5.descente-china.com.cn/images/Slideshow_Daniel/Slideshow_Daniel007.jpg" alt=""></div>
    22         </div>
    23     </div>
    24 </div>
    25 </body>
    26 <script>
    27     var swiper = new Swiper('.swiper-container', {observer: true, observeParents: true,});
    28     var swiper_container = document.querySelector('.swiper-container');
    29     var popup = document.querySelector('#popup');
    30 
    31     function toggle() {
    32         var display = swiper_container.style.display;
    33         if (display === 'block') {
    34             swiper_container.style.display = 'none';
    35         } else {
    36             swiper_container.style.display = 'block';
    37         }
    38 
    39 
    40     }
    41 
    42     function toggleParent() {
    43         var display = popup.style.display;
    44         if (display === 'block') {
    45             popup.style.display = 'none';
    46         } else {
    47             popup.style.display = 'block';
    48         }
    49     }
    50 </script>
    51 </html>
  • 相关阅读:
    (二)Maven的使用--安装配置
    (一)Maven介绍
    (二)Monkey自动化脚本
    App测试--专项测试
    Java基础--(三)运算符
    Vue.js 介绍入门
    NodeJS 入门第三天(Express框架)
    NodeJS 入门第二天(EJS模板)
    《前端架构设计》读后感
    NodeJS 入门第一天
  • 原文地址:https://www.cnblogs.com/Koming/p/9811018.html
Copyright © 2011-2022 走看看