0

スワイプ画像スライダーが入ったファンシーボックスを作りたいです。fancybox のハウツー ページの指示に従って、スライダーを配置する非表示の div を作成します。

<div style="display:none">
  <div id="hidden" >
    <div id="mySwipe" class='swipe'>
      <div class='swipe-wrap'>
        <div><b>0</b></div>
        <div><b>1</b></div>
        <div><b>2</b></div>
      </div>
    </div>
    <div style='text-align:center;padding-top:20px;'>
      <button onclick='mySwipe.prev()'>prev</button>
      <button onclick='mySwipe.next()'>next</button>
    </div>
  </div>
</div>

今、私はそのような隠されたコンテンツを使ってfancyboxに入力します:

<p align="center"><a class="fancybox" href="#hidden">Click me</a></p>

残念ながら、それにはいくつかの問題があります。空の(または非表示の)コンテンツのスライダーがあります。つまり、スライドショー 0 -> 1 -> 2 が表示されません。

この問題は「display:none」スタイルが原因であると思われます。実際、これを取り出すと、スライドショーは機能していますが、非表示のコンテンツが表示され、これは望ましくありません。

ここで、私の html の先頭を報告します。

<!-- Add JQuery -->
<script type="text/javascript" src="js/jquery-1.10.1.min.js"></script>

<!-- Add Swipe Slider -->
<script src="js/slider/swipe.js"></script>
<style>
/* Swipe 2 required styles */


.swipe {
    overflow: hidden;
    visibility: hidden;
    position: relative;
}
.swipe-wrap {
    overflow: hidden;
    position: relative;
}
.swipe-wrap > div {
    float: left;
    width: 100%;
    position: relative;
}

/* END required styles */
</style>

<!-- Add Fancybox -->
<link rel="stylesheet" href="js/fancybox/source/jquery.fancybox.css" type="text/css" media="screen" />
<script type="text/javascript" src="js/fancybox/source/jquery.fancybox.pack.js"></script>
<script type="text/javascript">
$(document).ready(function(e) {
    $(".fancybox").fancybox();
    var elem = document.getElementById('mySwipe');
    window.mySwipe = Swipe(elem, {});
    });
</script>
4

1 に答える 1

2

display:none の代わりに設定を試みることができます

<div style="position:absolute; left:-5000px;">

この方法では、結果は display:none (div のコンテンツが表示されない) と似ており、説明されている問題を回避する必要があります。

于 2013-07-02T10:07:07.050 に答える