图片库swiper没有在jQueryMobile页面上显示

时间:2014-05-09 21:06:31

标签: html jquery-mobile swiper

我在jQueryMobile页面上使用Swiper by idangero.us

我的HTML文件包含两个"页面"。其中一个应该有一个图像库。它可以很好地查看图像,滑块是功能的,没有jQueryMobile。但是一旦我使用jQueryMobile,图像就不再出现了。

我发现的最类似的问题是:Swiper not working in Jquery Mobile  但它并没有帮助我找到解决方案。有人可以向我解释为什么这不起作用吗?

这是我的HTML:

  <!doctype html>
  <html lang="en">
  <head>
  <meta charset="UTF-8">
  <title>Title</title>
  <link rel="stylesheet" href="css/idangerous.swiper.css">   
  <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" />   

  <style>
/* Demo Styles */
html {
  height: 100%;
}
body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  line-height: 1.5;
  position: relative;
  height: 100%;
}
.swiper-container {
  width: 100%;
  height: 100%;
  color: #fff;
  text-align: center;
}
.swiper-slide .title {
  font-style: italic;
  font-size: 42px;
  margin-top: 80px;
  margin-bottom: 0;
  line-height: 45px;
}
.pagination {
  position: absolute;
  z-index: 20;
  left: 10px;
  bottom: 10px;
}
.swiper-pagination-switch {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 8px;
  background: #222;
  margin-right: 5px;
  opacity: 0.8;
  border: 1px solid #fff;
  cursor: pointer;
}
.swiper-visible-switch {
  background: #aaa;
}
.swiper-active-switch {
  background: #fff;
}
  </style>
</head>
<body>

<!--  Start page-->
  <div data-role="page" id="page_start">

            <article data-role="content">
                <ul data-role="listview" data-inset="true" >            
                    <li>
                        <a href="#page2">
                            <h1>Cabmontering</h1>
                                <img src="favicon.ico" alt="Min Pin" />
                                <p></p>
                        </a>
                    </li>  
                </ul>
            </article>
        </div> <!--End of startpage-->

  <!--Page 2-->
        <div data-role="page" id="page2">  
              <div class="swiper-container">
                <div class="swiper-wrapper">

                  <div class="swiper-slide">      
                    <img src="bilder/cabmontering/3_2.png" width="100%"/>
                  </div>

                  <div class="swiper-slide">
                    <img src="bilder/cabmontering/4_2.png" width="100%"/>
                  </div>

                  <div class="swiper-slide">
                    <img src="bilder/cabmontering/6_2.png" width="100%"/>
                  </div>

                  <div class="swiper-slide">
                    <img src="bilder/cabmontering/1.png" width="100%"/>
                  </div>

                  <div class="swiper-slide">
                    <img src="bilder/cabmontering/2.png" width="100%"/>
                  </div>

                </div>
                <div class="pagination"></div>
              </div> <!--End of "swiper_wrapper"-->
          </div> <!--End of page 2-->


  <script src="js/jquery-1.10.1.min.js"></script>
  <script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script> 
  <script src="js/idangerous.swiper-2.1.min.js"></script>  
  <script>
  var mySwiper = new Swiper('.swiper-container',{
    pagination: '.pagination',
    paginationClickable: true,
    loop: true
  })
  </script>
</body>
</html>

1 个答案:

答案 0 :(得分:2)

该插件根本没有被初始化,您需要在pageshow中包含滑动代码并且只需要一次.one()。其次,将JS库放在head

<head>
  <script src="js/jquery-1.10.1.min.js"></script>
  <script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script> 
  <script src="js/idangerous.swiper-2.1.min.js"></script>  
  <script>
    $(document).one("pageshow", "#page2", function () {
      var mySwiper = new Swiper('.swiper-container',{
          pagination: '.pagination',
          paginationClickable: true,
          loop: true
      });
    });
  </script>
</head>