【问题标题】:jQuery - If element has class do thisjQuery - 如果元素有类,请执行此操作
【发布时间】:2011-06-01 16:38:10
【问题描述】:

我需要一个 jQuery 脚本,它可以查看是否有任何元素具有特定的类并执行更改位置等操作。

这是方法,但我认为这行不通。

$("a.contact").toggle(function() {
    $("#contact").animate({
        right: '0'
    }, 2000);

    if ($("#about").hasClass("opened")) {
        $("#about").animate({
            right: -700 + "px"
        }, 2000);
    }
}, function() {
    $("#contact").animate({
        right: -700 + "px"
    }, 2000);
});

【问题讨论】:

  • 好吧,您说您想知道“任何”元素是否具有某个类,但是您的 if 语句中的选择器仅针对 id 为“about”的元素是故意的吗?基本上是想弄清楚你有什么问题。你也试过上面的代码,看看它是否有效?
  • 因为您不认为它会起作用而投票否决问题?你先试试怎么样?!?如果它不起作用,请具体告诉我们您希望看到什么,以及您实际看到了什么。
  • @ken:他确实应该有,但既然他只是一个卑微的菜鸟,也许向正确的方向轻轻推动会更合适?顺便说一句,@Florescu,如果你想知道某些东西是否可行但你无法弄清楚,请在 jsfiddle.net 上模拟问题并在你的问题中链接到它。
  • @treeface: 那的轻推(代替称他为低贱的菜鸟);如果他将问题更新为...您知道,实际上包含一个问题,那么我将删除我的反对票。不好的问题(或没有问题)= 否决票,这样其他人就不必在诸如此类的非问题上浪费时间。

标签: javascript jquery


【解决方案1】:

首先,您的条件句中缺少一些括号:

if ($("#about").hasClass("opened")) {
  $("#about").animate({right: "-700px"}, 2000);
}

但您也可以将其简化为:

$('#about.opened').animate(...);

如果#about 没有opened 类,它就不会动画。

如果问题出在动画本身,我们需要更多地了解您的元素定位(绝对?相对父级中的绝对?父级是否有布局?)

【讨论】:

    猜你喜欢
    • 2015-02-02
    • 1970-01-01
    • 1970-01-01
    • 2021-10-27
    • 2011-06-17
    • 2011-05-22
    • 2018-07-29
    • 1970-01-01
    • 2021-06-19
    相关资源
    最近更新 更多