jQuery滚动后的定时延迟
jQuery scrollto after timed delay
我有这个页面:http://www.yasyf.com/services.html,其中一个视频自动播放。我想让它,一旦视频完成播放(一段时间),页面自动向下滚动到文本,使用jQuery滚动与定时延迟,但只有当页面还没有滚动。这可能吗?
请看这里我为你做的例子
更多信息
取决于你正在使用的播放器,可以使用视频完成事件。然后可以将scrollTo函数附加到它。你可以在这里阅读更多关于这个事件的信息:
- YOUTUBE
- FLOWPLAYER ADOBE
如果可以的话,也可以看看这个非常有用的资源和这个关于HTML5视频的规范。
视频。ly: 在我看来,他们使用的是带有Flash回退播放器的HTML5。看这里的"如何使用视频"部分。
JS代码:// add a scrollTo method to jQuery
$.fn.scrollTo = function(duration){
if(duration == null){ duration = 1000; }
var offset = $(this).offset().top - $(window).height()/2 + $(this).height();
$('html,body').animate({ scrollTop: offset}, duration);
}
// Then when the dom is loaded
$("document").ready(function() {
//for HTML5 (for flash please see the ADOBE link above.)
$("video").bind("ended", function() {
// Log on console just for debug
console.log("autoplay ended! About to scroll to...");
// scroll to a div with id="scroll_to_here"
$('#scroll_to_here').scrollTo();
});
});
var scrolled = false;
$(window).scroll(function(){
scrolled = true;
});
var scroll_timer = setTimeout(function(){
if(scrolled !== true)
{
// scroll to whatever
}
},10000);
这是一个简单的脚本。我假设滚动/按下键/鼠标点击表示"用户已经与页面进行了交互,不要自动滚动"。
(function() {
var scrollPage = function() {
$.scrollTo(xyz);
};
var c = setTimeout(scrollPage, 35000);
$(document.body).bind('scroll mousedown keydown', function() {
clearTimeout(c);
});
})();
如果有帮助请告诉我
相关文章:
- 可以简化嵌套的延迟Q Promises解析吗
- 绑定时将Parsley minlength消息作为选项传递时,未对其进行自定义
- onclick函数需要双击,因为类分配延迟
- 更多延迟动画
- 对父作用域的指令更新延迟了一步
- 为JS函数添加延迟
- 带有延迟的循环每次应运行5次
- 关键帧之间的css3动画延迟
- 如何在有延迟的情况下对两个代码进行积分
- 如何为.css状态的更改添加延迟
- Angular.js延迟控制器初始化
- 在延迟时设置Whois脚本
- 如何在Javascript中延迟setInterval
- 如何停止基于jQuery延迟定时器的动画
- 在定时器/延迟的画布上移动不同的图像
- jQuery滚动后的定时延迟
- 如何设置Javascript定时器延迟预取
- 我'我试图使一个正方形出现使用延迟定时器,但它'没有出现
- 在按下按钮后添加定时延迟,以防止按钮垃圾邮件
- jQuery -定时器不会延迟