http://jsfiddle.net/pahnin/rdgbq/16/看看这个小提琴。 在这个小提琴中,animate函数运行得很晚,看起来很奇怪也是第一次点击徽标时animate不起作用
请提出任何建议。 。
答案 0 :(得分:0)
好的,我想我找到了为什么你的代码运行缓慢。每次单击徽标div时,都会挂起一个新的.click()
事件处理程序。
尝试更改缩进,以使$('.items').click(function() {
超出$('#logo').click(function() {
块。
所以你的代码变成了(只是代码的一部分):
$('#logo').click(function() {
a = 1;
d = -2;
$('#container div').each(function() {
$('#sidebar').hide().animate({
top: '80%'
}).removeClass('side');
if (d > 3.5) {
d = -2;
}
c = d * 10 + "%";
if ((a - 1) % 3 == 0) {
b = a * 10 + "%";
}
$(this).animate({
top: b,
left: c
});
a++;
d += 2;
$(this).show();
$(this).corner();
});
d = -2;
});
$('.items').click(function() {
var h = $(this).html();
$('#sidebar').show().html(h).animate({
top: '10%'
}).corner("left").addClass('side');
$('#container div').each(function() {
if (d > 3.5) {
d = -2;
}
c = -d * 10 + "%";
$(this).animate({
top: '100%',
left: c
});
d += 2;
$(this).show();
});
});
您可以进行更多优化,但这应该会有所帮助!