2014-02-27 36 views
0

我试图让我的滑块在触摸屏上工作。用户必须能够滑动图像。我需要它在平板电脑和手机上工作。我尝试使用$(“。portfolio-overlay”)。但是那不起作用,我不知道我是否做错了什么。创建触摸滑块

HTML

<div class="slider-wrapper"> 
<div class="slider"> 
    <div class="portfolio-overlay"> 
     <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> 
      <li> 
       <img width="704px" class="portfolio-inactive portfolio-single" src="http://s25.postimg.org/smcgdi7hr/mini_purple_fairy.jpg"> 
      </li> 
     </ul> 
    </div> 
</div> 
<ul class="triggers"> 
    <li> 
     <img src="images/border-box.png"> 
    </li> 
    <li> 
     <img src="images/border-box.png"> 
    </li> 
    <li> 
     <img src="images/border-box.png"> 
    </li> 
    <li> 
     <img src="images/border-box.png"> 
    </li> 
    <li> 
     <img src="images/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("../images/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); 
} 

$(".portfolio-overlay").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; 
      } 
      rotateBanners(bannerMove); 
     } else if (direction == "right") { 
      rotateBanners(($(".portfolio-active").index() - 1)); 
     } 
    }, 
    threshold: 0 

}); 

这里是我的jsfiddle:JSFiddle

+0

你可以上传你的代码中使用的图像,然后相应地更新你的提琴的链接?这会让你更容易想象你想要完成的事情。 –

+0

这里是更新的jsfiddle:[JSFIDDLE](http://jsfiddle.net/8e5rX/2/)我不想添加适当的图像,因为该网站是为别人 – user3323889

回答

0

也许也许你不需要的东西,但我使用iScroll用于触摸滑动。它可以设置为垂直或水平滚动,捕捉点等。它非常灵活,非常可定制。易于安装。

http://cubiq.org/iscroll-4

http://iscrolljs.com

+0

谢谢,但它不是我所需要的 – user3323889