on('click')函数在第二次单击时触发

时间:2014-06-09 09:40:38

标签: javascript jquery html css click

我遇到了问题,只要点击一个元素,我就会有一个li切换,但问题是我在“点击”时试图将窗口导航到li的中心位置元素是点击。它工作但我的问题是,该脚本只适用于第二次点击?

我的理论是,因为li位于display:none,所以它不会在第一次点击时读取,而是在第二次点击时读取。无论如何要解决这个问题,它会同时触发切换加窗口导航吗?

还有一种方法可以顺畅地动态(动画)移动它吗?

谢谢你们!

SAMPLE JSFIDDLE

 $(document).on('click', "#click", function(){

  var viewportHeight = $(window).height(),
      foo = $('ul li:nth-child(2)'),
      elHeight = foo.height(),
      elOffset = foo.offset();
  $(window).scrollTop(elOffset.top + (elHeight/2) - (viewportHeight/2));
  $(foo).slideToggle();
  });

1 个答案:

答案 0 :(得分:0)

第一个伙伴尝试设置它的可见性:隐藏;不显示无

如果不能正常工作,当你直接点击时尝试设置定时器工作,这次将再次调用一个计算功能......它将工作..可以更容易测试它..添加到你的下面功能..

        $(document).on("mousemove", "#click", function(){

  var viewportHeight = $(window).height(),
      foo = $("ul li:nth-child(2)"),
      elHeight = foo.height(),
      elOffset = foo.offset();
  $(window).scrollTop(elOffset.top + (elHeight/2) - (viewportHeight/2));
  $(foo).slideToggle();
  });