1

我目前正在为 iPad 开发一个小型 webapp。现在我正在使用touchslider。对于一个小的“缩放功能”,我使用切换功能来显示和隐藏一些 div。现在我想停止触摸滑块,这样用户就不能滑动幻灯片。但直到用户切换 #zoom1 -按钮,此时滑块应该再次可用。我尝试取消绑定,停止并启动滑块,但似乎我走错了路......

$(".touchslider15").touchSlider({
container: this,
duration: 350, 
delay: 3000, 
margin: 0,
mouseTouch: true,
autoplay: false, 
viewport: ".touchslider-viewport15"}); 

$("#zoom1").toggle(function(){
$('#header').hide();
$(".touchslider15").unbind('touchSlider', touchSlider);
},function(){ 
    $('#header').show();
});
4

2 回答 2

1

看起来是这样的:

var state=true;

$(".touchslider15").touchSlider({
    container: this,
    duration: 350, 
    delay: 3000, 
    margin: 0,
    mouseTouch: true,
    autoplay: false, 
    viewport: ".touchslider-viewport15"
}); 

$("#zoom1").on('click', function() {
    $(".touchslider15").data("touchslider")[state?'stop':'start']();
    $("#header").toggle(!state);
    state=!state;
});

编辑:不确定它会起作用,但你可以尝试:

$("#zoom1").on('click', function() {
    if (state) {
        var elem = $(".touchslider15").clone(false);
        $(".touchslider15").replaceWith(elem);
    }else{
        $(".touchslider15").touchSlider({
            container: this,
            duration: 350, 
            delay: 3000, 
            margin: 0,
            mouseTouch: true,
            autoplay: false, 
            viewport: ".touchslider-viewport15"
        }); 
    }
    $("#header").toggle(!state);
    state=!state;
});
于 2012-08-31T15:10:08.183 回答
0

代替

 $("#zoom1").on('click', function() {
    if (state) {

尝试

$("#zoom1").one('click', function() {
    if (state) {
于 2013-03-04T08:38:32.080 回答