【问题标题】:events no longer function after jquery animatejquery动画后事件不再起作用
【发布时间】:2012-05-05 17:24:00
【问题描述】:

因此,在我使用 javascript 为一些 imgs 或 div 设置动画后,它们不再具有可用的单击或悬停事件。 (有问题的imgs是在“n”后面排列后的4个大气泡)

我确定这是一个我无法找到答案的常见问题。提前致谢!

直播代码:http://jboullion.com/nebuloid/index.html

这是我的 html div 的 3 个不同变体

<div >
  <a href="javascript:link()"> <img id="bubbleOne"  alt="Staff" src="images/smallbubble.png" /></a><br />
  </div>
  <div>
  <img id="bubbleTwo" onclick="link()" alt="Mission" src="images/smallbubble.png" /><br />
  </div>
  <div>
  <img id="bubbleThree" href="javascript:link()" alt="Games" src="images/smallbubble.png" /><br />
  </div>

这是我的 javascript - 简版

$("#bubbleOne").click(function(event)
  {
  fadeLogo()
    if (iOS == true) {
      window.scroll(0,350);
    }
    $("#copy").html("<span id='purp'>WE ARE NEBULOID</span> <br/><br/>We want to make great video games.<br/> We want to stretch the boundaries that define what video gaming looks and feels like.<br/> We are new developers cutting our teeth, and we have very grand and exciting projects coming soon.<br/> Our biggest upcoming project is a subtle, human, and epic science fiction adventure.");  
    $("#mission").css("color","#8470FF");
    colorHoldM = "#8470FF";
    colorHoldG = "white";
    colorHoldS = "white";
    colorHoldC = "white";
    $("#games").css("color","white");
    $("#staff").css("color","white");
    $("#contact").css("color","white");
  });

$("#bubbleOne").hover(function(){
  $("#bubbleOne").animate({
    width: "175px"}, 500 );
    });

    $("#bubbleOne").mouseout(function(){
  $("#bubbleOne").animate({
    width: "110px"}, 500 );
    });

    function fadeLogo()
    {
      //stuff
        $('#bubbleOne').delay(1000).animate({left: '+=120', top: '-=130' }, 1000);
        $('#bubbleTwo').delay(1000).animate({left: '-=50', top: '-=130' }, 1500);
        $('#bubbleThree').delay(1000).animate({left: '-=230', top: '-=165' }, 2000);
    //stuff
    }

有人知道答案吗?

【问题讨论】:

  • 你能解释一下选项中断是什么意思吗?
  • 抱歉描述不佳。在 imgs 动画之后,他们不再有可用的点击或悬停事件
  • 在我看来,它们确实如此,但目前还不清楚整个设备的运行方式。你能提供重现问题的步骤吗?
  • 在单击顶部的任一菜单选项或 4 个大气泡之一后,整个事物应该动画化,以便气泡漂浮在“N”旁边,之后它们似乎失去他们的点击和悬停事件

标签: jquery click hover jquery-animate


【解决方案1】:

问题是您不是通过 display:none 而是通过 opacity 隐藏页面上的某些元素。所以,这些看不见的元素就在你的泡泡面前。

例如,如果我在 firebug 中找到元素 $('#eb') 并将其显示设置为无,我现在可以将鼠标悬停在前 2 个气泡上。

另外,你拼错了“版权”这个词:P 也许你应该把它替换为&amp;copy;

这样的东西应该可以解决它:

var $shit = $('#eb,#u,#l,#oi,#d');
$shit.animate({opacity:0}, {duration: 1000, specialEasing:{duration: 1000, opacity:'easeInBounce'}, 'complete':function(){
   $shit.hide(); //function called when animation is complete. hide this shit
}});

您还应该研究代码重用...

【讨论】:

  • 你摇滚。我什至没有想到这一点。如果可以,我会拥抱你。
  • 由于某种原因,我无法触发此动画完整功能。有什么想法吗?
  • 总是先阅读文档:api.jquery.com/animate - 它们表明您可能需要将竞争函数放入传递给动画函数的第二个哈希中。生病更新我的答案
  • 我确实尝试过,但无法理解他们在问什么 :( 不过我真的很感谢你的帮助。我查看并压缩了代码并修复了自动完成
猜你喜欢
  • 2014-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多