2014-02-27 36 views
0

我试图让我的滑块在触摸屏上工作,所以我找到了一个名为touchSwipt的插件。这里是多少有点像我想要的演示的链接。触摸滑块不起作用

DEMO

,这是我看到了它

LINK TO SITE

它的工作原理,如果我只是复制和粘贴演示的HTML,但是当我尝试添加我自己的东西的网站它不起作用。 这里是JSFiddle。 JSFIDDLE

这里是我的html

   <div class="slider-wrapper"> 
       <div class="slider"> 
        <div id="test" class="box"> 
        <ul class="images"> 
         <li><img width="704px" class="portfolio-active portfolio-single" src="http://s25.postimg.org/keaisiflb/mini_brown_fairy.jpg"></li> 
         <li><img width="704px" class="portfolio-inactive portfolio-single" src="http://s25.postimg.org/xwhf4srqn/mini_blue_fairy.jpg"></li> 

        </ul> 
        </div> 
       </div> 

       <ul class="triggers"> 
        <li><img src="http://s25.postimage.org/hj22mxdgr/border_box.png"> </li> 
        <li><img src="http://s25.postimage.org/hj22mxdgr/border_box.png"> </li> 

       </ul> 

这里是我的CSS

.slider { 
float: left; 
height: 465px; 
margin-left: auto; 
margin-right: auto; 
margin-top: 0; 
overflow: hidden; 
position: absolute; 
width: 704px; 
} 
.images { 
position:relative; 
top:0px; 
left:0px; 
height:2660px; 
} 
.images li { 
float:left; 
position:relative; 
top:0px; 
left:0px; 
} 
.triggers { 
left: 31.2%; 
position: absolute; 
top: 76.3%; 
} 
.triggers li { 
float: left; 
list-style: none outside none; 
} 
.triggers .selected { 
background: url("http://s25.postimg.org/8cjrzn88b/white_box.png") no-repeat scroll 0 3px rgba(0, 0, 0, 0); 
} 
.swipe-for-more { 
left: 24.3%; 
position: absolute; 
top: 76.3%; 
} 
.control { 
position:absolute; 
top: 380px; 
color:#fff; 
cursor:pointer; 
} 

,这是我的Jquery

var triggers = $('.triggers li'); 
var images = $('.images li'); 
var lastElem = triggers.length - 1; 
var slider = $('.slider .images'); 
var imgWidth = images.width(); 
var target; 

triggers.first().addClass('selected'); 
slider.css('width', imgWidth * (lastElem + 1) + 'px'); 

function sliderResponse(target) { 
    slider.stop(true, false).animate({ 
     'left': '-' + imgWidth * target + 'px' 
    }, 300); 
    triggers.removeClass('selected').eq(target).addClass('selected'); 
} 

triggers.click(function() { 
    if (!$(this).hasClass('selected')) { 
     target = $(this).index(); 
     sliderResponse(target); 
     resetTiming(); 
    } 
}); 
$('.next').click(function() { 
    target = $('.triggers .selected').index(); 
    target === lastElem ? target = 0 : target = target + 1; 
    sliderResponse(target); 
    resetTiming(); 
}); 
$('.prev').click(function() { 
    target = $('.triggers .selected').index(); 
    lastElem = triggers.length - 1; 
    target === 0 ? target = lastElem : target = target - 1; 
    sliderResponse(target); 
    resetTiming(); 
}); 

function sliderTiming() { 
    target = $('.triggers .selected').index(); 
    target === lastElem ? target = 0 : target = target + 1; 
    sliderResponse(target); 
} 
var timingRun = setInterval(function() { 
    sliderTiming(); 
}, 5000); 

function resetTiming() { 
    clearInterval(timingRun); 
    timingRun = setInterval(function() { 
     sliderTiming(); 
    }, 5000); 
} 

$("#test").swipe({ 

    swipe: function (event, direction, distance, duration, fingerCount) { 
     if ($(".portfolio-single").length < 1) return false; 
     clearTimeout(timeout); 
     directionVAR = direction; 
     if (direction == "left") { 
      var bannerMove = $(".portfolio-active").index() + 1 
      if ($(".portfolio-active").index() == ($(".portfolio-single").length - 1)) { 

       bannerMove = 0; 
      } 

     } else if (direction == "right") { 
      rotateBanners(($(".portfolio-active").index() - 1)); 
     } 
    }, 
    threshold: 0 

}); 

回答

0

尝试包DOM准备处理$(function() { });里面你的代码确保所有的文档对象模型(DOM)已准备好用于JavaScript代码 执行。

$(function() { 
    // Your code here 
}); 

或包裹内$(window).load(function() { ... })你的代码,以确保整个页面(图片或iFrame),而不仅仅是DOM,准备

$(window).load(function() { 
    // Your code here 
});