点击时的 jQuery 延迟功能

标签 jquery delay

我在尝试延迟单击事件上执行的函数时遇到一些问题。

我有一系列链接,每个链接的 href 都是唯一的 YouTube 视频嵌入 URL。我想要做的是使用这些 YouTube URL 之一切换页面上 iframe 的源。但我试图在页面滚动回顶部时延迟切换。

我创建了一个Fiddle这更好地说明了我的观点。

我本来就有这个JS函数;

$(".play-video").click(function(e) {
    $("html, body").animate({ scrollTop: 0 }, 500);
    $("#video-frame").attr("src", $(this).attr("href"));
});

这对于滚动页面和切换 iframe 都有效,但是在切换 iframe 源时滚动页面会使滚动动画有点不稳定,这并不理想。

对此的任何帮助都会很棒。

提前致谢。

最佳答案

无需使用 setIntervalsetTimeoutThe animate method accepts a complete callback动画完成时运行。

$(".play-video").click(function(e) {
    $("html, body").animate({ scrollTop: 0 }, 500, function() {
       $("#video-frame").attr("src", $(this).attr("href"));
    });
});

关于点击时的 jQuery 延迟功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31654149/

相关文章:

jquery - 使用动态 ID 选择 Multiple SelectManyCheckBox 中的所有项目

javascript - 当有波斯语字符时,如何改变文本区域的方向?

javascript - 如何使用 timeago.js?

jquery - 从 Django 中的 POST 请求读取多维数组

html - 尝试制作 div 幻灯片

javascript - 延迟循环 1 秒

c - OpenCL 内核等待/延迟

javascript - 多个文件上传 - Blueimp jQuery uploader

Javascript : paste event

Outlook 2007 延迟电子邮件时间戳显示创建时间