我有一个问题,我有一个 li
每当单击一个元素时它就会切换,但问题是我正在尝试将窗口导航到 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();
});
关于javascript - on ('click' ) 函数在第二次点击时触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24117511/