【问题标题】:jQuery code in if statement not running even though alert in if statement happens即使 if 语句中的警报发生,if 语句中的 jQuery 代码也没有运行
【发布时间】:2013-06-14 02:25:21
【问题描述】:

我有一个 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);
}

【问题讨论】:

  • 可能#tabViewWindow 元素没有绝对或相对位置
  • #tabViewWindow 的样式有哪些?如果你还没有设置它的 position 属性,那么设置 left 属性不会做任何事情。

标签: javascript jquery


【解决方案1】:

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

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

【讨论】:

  • 控制台有说什么吗?
  • 不。无错误。这一次,这是一件坏事。
猜你喜欢
  • 1970-01-01
  • 2020-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-27
  • 1970-01-01
  • 1970-01-01
  • 2013-06-16
相关资源
最近更新 更多