2

得到了我从一本书(新手到忍者)稍微改编的这段代码。

用户点击“联系人”,下面会打开一个带有电话号码和 href 链接的表单。左键单击链接没有任何作用,但我可以右键单击并“在新选项卡中打开”,然后它就可以工作了。

对 js 和 jQuery 来说相当新,但我认为问题(我可能错了)是无法正常工作的 href 链接与打开表单的“联系”链接链接到相同的“a”,但我不知道如何改变这一点。

      <div id="contact">
    <a href="#">Contact</a>
    <form action="">
    Phone me on:018<br><br>Email me at <a href="http://www.guardian.co.uk/lifeandstyle/2012/apr/04/samantha-brick-hated-good-looks?newsfeed=true">click me</a>
    </form>
    </div>

jQuery

  $('#contact form').hide();
  $('#contact a').toggle(function() {
  $(this)
  .addClass('active')
  .next('form')
  .animate({'height':'show'}, {
    duration:'slow',
    easing: 'swing'
  });
  }, function() {
  $(this)
  .removeClass('active')
  .next('form')
  .slideUp();
  });

非常感谢

4

1 回答 1

3

代替

$('#contact a')

尝试使用

$('#contact > a')

这样,您只针对直接孩子而不是其他孩子<a>。我认为当您单击带有 href 的链接时,您的代码段也会运行<a href="http://www.guardian.co.uk/lifeandstyle/2012/apr/04/samantha-brick-hated-good-looks?newsfeed=true">click me</a>,并且脚本会中断并且因此未遵循该链接

于 2012-04-05T12:25:41.940 回答