[英]on('click') function fires on second click
我有一个问题,当单击某个元素时,我会切换一个li
,但是问题是,当单击“ click”元素时,我试图将窗口导航到该li
中心。 它正在工作,但是我的问题是,该脚本仅在第二次单击时有效?
我的理论是,由于该li
在display:none
,所以它不是在第一次单击时读取它,而是在第二次单击时读取它。 无论如何,是否有某种方法可以同时触发切换和窗口导航来解决此问题?
还有一种方法可以平滑地动态(动画)移动它?
多谢你们!
$(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();
});
大副尝试设置它的可见性:隐藏; 不显示无
如果也无法使用,请尝试在直接单击时设置计时器工作,这一次将再次调用计算功能...,它将可以正常工作,以便可以更轻松地对其进行测试。
$(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();
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.