0

我设置了一个具有以下特征的代码:

  1. 导航项文本隐藏在一些 Divs 后面,我将它们称为 Navigation Divs

  2. 当鼠标移动到一些像素导航 Divs 上时,它们背后的文本会左右滑动,在某些情况下,其中一些会使用 animate() 方法将顶部和底部移动约 15 px...

  3. 当鼠标移动到另一个 Div 时,其他文本将被重置为下一个操作的第一个位置,我这样做了:

    $(document).on('mouseover', '.pixel#p18', function(){
       $('.submenus').not("this Div's TEXT").fadeOut('fast').removeAttr('style');
    });/* this Div's Text is for Example*/
    

我为我所有的导航文本写了这种..

现在我的问题是:

  1. 当我将鼠标悬停在其中一个导航 Div 上时,由于 removeAttr('style') 的原因,它们没有动画的一些文本变得可见!!!但我不想那样...

  2. 有没有其他方法可以使用可选的 move 值将文本或其他元素向左、向右、向上和向下滑动...???例如向左 23px 或向顶部 17px ......等等???-我熟悉 slideUp 和 Down 和切换,但不确定它们是否足以满足我的代码......

  3. 您对此有什么更好的想法吗?实际上您会有,因为我认为这很糟糕

  4. 最后一个问题是为什么我的代码运行速度很慢?我写的动画有时会出错,我不确定问题出在我的选择器或其他东西上。

4

1 回答 1

0

为此,您需要具有回调的 .animate 之类的东西。所以像:

$('.submenus').not("this Div's TEXT").animate({opacity:0},500,'linear', function() {
    $(this).removeAttr('style');
});

这只会在动画完成时删除该属性。

于 2013-09-24T19:18:48.073 回答