(function(){
    if ($('#right-col').hasClass('shown')){
        $(this).swipe({
            swipe:function(event, direction, distance, duration, fingerCount) {
                $(this).addClass('hidden');//.text(direction);
            }
        });
    };
})();


这是我正在处理的Web项目的滑动功能。但是以某种方式,我的代码无法与if语句一起使用。如果我只使用这个:

$('#right-col').swipe({
  swipe:function(event, direction, distance, duration, fingerCount) {
    $(this).addClass('bg-blue').text("You swiped " + direction );
  }
})


工作正常。谁能告诉我,上述我的自调用功能有什么特别的问题?

最佳答案

当您执行$(this).swipe(...)时,thiswindow。使用其ID选择元素:

(function () {
    if ($('#right-col').hasClass('shown')) {
        $('#right-col').swipe({
            swipe: function (event, direction, distance, duration, fingerCount) {
                $(this).addClass('hidden'); //.text(direction);
            }
        });
    };
})();


请注意,如果#right-col元素的类稍后更改,则滑动功能将不受影响。

10-06 02:59