jQuery代码在if语句中不运行,即使警告在if语句中发生

jQuery code in if statement not running even though alert in if statement happens

本文关键字:if 语句 警告 代码 jQuery 运行      更新时间:2023-09-26

我有一个if语句,里面有两个警报以及一个变量赋值。当条件满足时,这三件事都会发生。

但是当我将jQuery代码添加到if语句的套件时,jQuery代码不会发生。

如何使 $('#tabViewWindow').animate({left:'100%'}); 在我的条件中发生?

我试图使上述代码发生的条件是:else if(obj.dx>0 && obj.$el.offset().left>=$(window).width()*0.6){

下面是我的代码:

$('#tabViewWindow').pep({
    axis: 'x',
    useCSSTranslation: false,
    drag: function (ev, obj) {
        if (obj.dx < 0 && obj.$el.offset().left > $(window).width() * 0.8) {
            //block left-drag when drag is left and object is 80% off screen
            obj.velocityQueue = new Array(5);
            return false;
        } else if (obj.dx > 0 && obj.$el.offset().left >= $(window).width() * 0.6) {
            //drag direction is right and object is 60% off screen
            alert("slide right here");
            open = false;
            alert("open is: " + open);
        } else if (obj.dx > 0) {
            open = true;
        }
        handleOpacity(ev, obj)
    },
});
function handleOpacity(ev, obj) {
    var opacity = 1 - (parseInt(obj.$el.css('left')) / $(window).width());
    obj.$el.css('opacity', opacity);
}

尝试添加position:absolute;position:relative;(以及至少初始的lefttop属性)到#tabViewWindow的样式。left属性只适用于具有该属性的元素。或者如果你想让元素的位置保持静态你可以动画margin-left属性:

$('#tabViewWindow').animate({'margin-left' : '100%'}, 500);