使用jQuery's setTimout()函数用于锚点滚动
Using jQuery's setTimout() Function For Anchor Scrolling
我仍在学习如何使用jQuery,我有这个脚本可以平滑滚动到页面上的锚点。我希望它在开始滚动之前等待一秒钟,因为我有一个菜单需要关闭。我认为我需要使用setTimeout()
函数,但无法在下面的代码中正确实现它。
<script>
$(document).ready(function(){
$('a[href^="#"]').on('click',function (e) {
e.preventDefault();
var target = this.hash,
$target = $(target);
$('html, body').stop().animate({
'scrollTop': $target.offset().top - 2
}, 900, 'easeInOutExpo', function () {
window.location.hash = target;
});
});
});
</script>
在超时时包装动画:
setTimeout(function() {
$('html, body').stop().animate({
'scrollTop': $target.offset().top - 2
}, 900, 'easeInOutExpo', function () {
window.location.hash = target;
});
}, 1000);
您需要在单击后在事件中添加它。像这样:
$(document).ready(function(){
$('a[href^="#"]').on('click',function (e) {
e.preventDefault();
// a settimeout is a function with two parameters: a function to execute,
// and a time to delay. So whatever you want to do, you can wrap in what is
// called an 'anonymous' function. Used once, then forgotten about.
setTimeout(function(){
var target = this.hash,
$target = $(target);
$('html, body').stop().animate({
'scrollTop': $target.offset().top - 2
}, 900, 'easeInOutExpo', function () {
window.location.hash = target;
});
}, 1000);
});
});
setTimeout(function(){
//insert code here
}, 1000);
http://www.w3schools.com/jsref/met_win_settimeout.asp
相关文章:
- Javascript函数用于检查数字并返回
- 为什么不是't此函数用于修改最终输出
- JQuery .find() 函数用于多个数组
- 在ko.applyBindings(..)中执行Knockout js订阅函数(用于可观察对象)
- Javascript函数用于选择/取消选中radgrid标头模板中的所有复选框
- 如何将一个函数用于多个项目 JEditable/JQuery
- 如何将一个函数用于多个元素
- 如何使用不带逗号的 join() 函数(用于数组)
- Setter 函数用于动态访问数组中的字段,该数组是一个属性
- JavaScript .some 函数用于对象属性
- 如何将一个函数用于具有不同 id 的输入类
- javascript changelink函数用于2选择
- 2jquery.click函数用于一个按钮.火一个接一个地发挥作用
- Javascript函数用于按Id检索不同的html元素
- 在流星中,是否有一个onRendered函数用于所有模板
- 使用jQuery's setTimout()函数用于锚点滚动
- 将jQuery.click()函数用于单个元素
- Javascript中的内置函数用于格式化日期
- 一个函数用于多个元素
- Init函数用于引导盒显示对话框后使用一些代码