javascript - SetTimeout 仅适用于桌面

标签 javascript jquery html css

我有一个带有 youtube 背景视频的网站(带有 YTPlayer )。我正在使用在页面加载时显示的 CSS 微调器。不幸的是,它在视频加载并开始播放之前就消失了。

$(window).load(function() {
    setTimeout(function(){
    $('.loader').fadeOut(1000);    
    $('.loader-bg').fadeOut(1000);
    },4000)
    });

我添加了一点超时,以确保视频在淡出到页面时已经在后台播放(我不知道这还能如何工作,如果有人有想法,请告诉我。会很棒) .

因为我不需要移动设备上的超时(我只是显示背景图片),我想知道是否有一个选项可以说,如果你在桌面上 > 运行超时,如果你're on mobile > 不要运行它。这可能吗?

编辑:我使用以下代码的临时解决方法:

if(jQuery.browser.mobile)
{   
$(window).load(function() {
    $('.loader').fadeOut(1000);    
    $('.loader-bg').fadeOut(1000);
    });
}
else
{
$(window).load(function() {
    setTimeout(function(){
    $('.loader').fadeOut(1000);    
    $('.loader-bg').fadeOut(1000);
    },3000)
    });
}

我认为可能有更好的方法...

最佳答案

它认为在 mb YTPlayer 中开始播放视频之前加载图片作为背景的最佳方法是应用 css 片段。请参阅这篇文章。

How to load a picture as background until the video starts in mb YTPlayer

它每次都对我很有效。希望对您有所帮助!

关于javascript - SetTimeout 仅适用于桌面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29052506/

相关文章:

javascript - 刷新时更改配色方案

javascript - Angularjs 检索值和显示的计时问题。

javascript - 使用 jquery 交换文本,如何将其他文本还原为原始文本?

html - 哪种clearfix方法?

jquery - for 循环中的 AJAX 请求返回乱序结果

css - 在 IE9 + 中覆盖用于验证的默认 css 样式

javascript - Google Chrome - GET ajax 请求失败

java - Servlet 响应未显示在网页上

javascript - 在 jquery onscroll 中添加和删除类

javascript - 将原型(prototype)函数注册为回调