这有点令人尴尬和令人沮丧。我想要做的是为网站的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");
});
答案 0 :(得分:1)
此时可能是DOM中的member_元素不可用。我会尝试使用follwing而不是悬停
1.7之前的JQuery的 live
和
on
如果元素随后出现在DOM中,它将绑定元素
答案 1 :(得分:0)
如果没有指向真实网站的链接,很难排除故障,但我会按顺序执行此操作:
另外,你可能想尝试以不同方式标记你的选择器,因为它是你传递给jQuery的“字符串”:
$('#[id^="value"]')
希望这有帮助!
答案 2 :(得分:0)
将动画放在头部下方应该没问题。您是否尝试过这样写:
$("#[id^=member_]")
.hover(function() {
$(this).animate({ left: '+=20px' }, 'fast');
}, function() {
$(this).animate({ left: '-=20px' }, 'fast');
});
答案 3 :(得分:0)
我不完全确定我做了什么,但突然之间它似乎正在起作用。可能是我现在有引号的价值,就像熊亚历山大那样。所以,谢谢你!