(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(...)
时,this
是window
。使用其ID选择元素:
(function () {
if ($('#right-col').hasClass('shown')) {
$('#right-col').swipe({
swipe: function (event, direction, distance, duration, fingerCount) {
$(this).addClass('hidden'); //.text(direction);
}
});
};
})();
请注意,如果
#right-col
元素的类稍后更改,则滑动功能将不受影响。