Swiper初始化

时间:2014-07-09 12:57:09

标签: jquery swiper

我遇到了JQuery滑块“Swiper”(这里的API - http://www.idangero.us/sliders/swiper/api.php)的问题。 当我加载页面时,我需要滚动Swip​​er到一些“幻灯片”。 =>我使用函数“mySwiper.swipeTo”来滚动Swip​​er。这在函数“onSlideClick”中运行良好,但是当我为“onFirstInit”或“onInit”或“onSwiperCreated”添加类似的代码时,没有任何工作(只有错误)。看起来像Swiper不知道什么是“mySwiper”=>使用像“mySwiper.slides.length”这样的代码会导致错误并且Swiper无法正常工作。

代理示例Swiper:

  <script type="text/javascript">
  window.onload = function() {
    var mySwiper = new Swiper('.swiper-container',{
      mode:'vertical',
      slidesPerView: 5,
      grabCursor: true,
      loop: false,
          onFirstInit: function() {
            zmena_obsahu_load();
          },
          onSlideClick: function() {
            zmena_obsahu_klik();
          }
    });

    var zmena_obsahu_load = function() {
      var index_lo = $(".menu_aktivni_trida").attr("data-id");

      var pocet_slidu = mySwiper.slides.length;
      if( (index_lo-2) <= 0 ){
        mySwiper.swipeTo((index_lo), '500', false);
      }
      else{
        mySwiper.swipeTo((index_lo-2), '500', false);        
      }

    };

    var zmena_obsahu_klik = function() {
      var index_slidu = $(mySwiper.clickedSlide).attr("data-id");
      var index_slidu2 = mySwiper.clickedSlideIndex;

      $(".obsah_posuv").hide();
      $("#posuv_"+index_slidu).show();
      $(".swiper-slide").removeClass("menu_aktivni_trida");
      $(mySwiper.clickedSlide).addClass("menu_aktivni_trida");

      var pocet_slidu = mySwiper.slides.length;
      if( (index_slidu2-2) <= 0 ){
        mySwiper.swipeTo((index_slidu2), '500', false);
      }
      else{
        mySwiper.swipeTo((index_slidu2-2), '500', false);        
      }

    };

    $('.posuv_menu_h').on('click', function(e){
      e.preventDefault()
      mySwiper.swipePrev()
    })
    $('.posuv_menu_d').on('click', function(e){
      e.preventDefault()
      mySwiper.swipeNext()
    })

  }
  </script>

这段代码写信给我:“TypeError:zmena_obsahu_load不是函数”但是“zmena_obsahu_klik”没问题。

我的功能“zmena_obsahu_klik”正常工作=&gt;忽略这个功能没有问题,为此而不是写我用它。

抱歉我的英文。

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。 =&GT; &#34; Swiper Hash Navigation&#34; (idangero.us/sliders/swiper/plugins/hashnav.php#slide3)

不是理想的解决方案,但有效,我重写了这个脚本的代码,在url =&gt;上没有丑陋的哈希值

var hash = document.location.hash.replace('#', ''); 更改为var hash = document.getElementById("akt_rok").textContent;

并跨越id&#34; akt_roke&#34;有&#34;显示:无&#34; =&GT;它在url中没有哈希值。