jQuery .animate以某种方式没有反应(对于WP站点)

时间:2012-02-03 17:23:59

标签: jquery

这有点令人尴尬和令人沮丧。我想要做的是为网站的div的宽度和位置设置动画。我做了一个测试,它在那里工作正常:

http://romanaltenburg.com/temp/test.php

然而,对于真实的网站,.animate什么都不做。这是我的代码

$(document).ready(function() {

        pWidth = $("#all_staff").width();
        pLeft = $("#all_staff").position();
        pLeft = pLeft.left;
        pCount = $("#[id^=member_]").size();
        pPercent = 100/pCount;
        zIndex = 0;
        colors = ["#CCCCCC","#333333","#990099","#9624CF","#CCCCCC"];

        //$("#[id^=member_]").addClass("staff_member");
        $("#[id^=member_]").css("width", pWidth/pCount);
        $("#[id^=member_]").css("z-index", zIndex);

        for (i=1;i<=pCount;i++){
            $("#member_"+i).css("left", (pWidth/pCount)*(i-1)+pLeft+"px");
            $("#member_"+i).css("backgroundColor", colors[i]);
        }

        $("#[id^=member_]")
            .hover(function() {
                $(this).animate({ left: 20 }, 'fast');
            }, function() {
                $(this).animate({ left: 0 }, 'fast');
        });

});

真正令人沮丧的是,任何其他功能都适用于那些div。所以如果我在这里写这个

$("#[id^=member_]")
  .hover(function() {
      $(this).css("left", "20px");
  }, function() {
      $(this).css("left", "0px");
});
div告诉他们跳到哪里。为什么?为什么? WHYYYYYYYYYYY? :)不要搞定,请帮帮我。非常感谢你!

4 个答案:

答案 0 :(得分:1)

此时可能是DOM中的member_元素不可用。我会尝试使用follwing而不是悬停

1.7之前的JQuery的

live

之后的JQuery on

如果元素随后出现在DOM中,它将绑定元素

答案 1 :(得分:0)

如果没有指向真实网站的链接,很难排除故障,但我会按顺序执行此操作:

  • 打开控制台(在Chrome中,或在FF中的Firebug),查看在实际网站上发生的事情
  • 确保在js文件
  • 之前以正确的顺序加载jquery等

另外,你可能想尝试以不同方式标记你的选择器,因为它是你传递给jQuery的“字符串”:

$('#[id^="value"]')

希望这有帮助!

答案 2 :(得分:0)

将动画放在头部下方应该没问题。您是否尝试过这样写:

$("#[id^=member_]")
    .hover(function() {
        $(this).animate({ left: '+=20px' }, 'fast');
    }, function() {
        $(this).animate({ left: '-=20px' }, 'fast');
});

答案 3 :(得分:0)

我不完全确定我做了什么,但突然之间它似乎正在起作用。可能是我现在有引号的价值,就像熊亚历山大那样。所以,谢谢你!