执行函数时,只加载图像/声音,Jquery
Execute function only when images/sounds are loaded, Jquery
当窗口/文档已经加载时,我动态设置图像和音频源,例如,我在用户对页面执行一些操作后设置它们:
// image and audio set
jQuery("#image").css('background-image', 'url(../content/icons/1/18.png)').css('backgroundPosition', '0 -40px');
var myAudio = new Audio('http://domain/content/audio/1/full-18.mp3');
myAudio.pause();
// i want this part of code be executed only when images and audio is fully loaded
myAudio.play();
解决方案1,不工作
jQuery("#page").load(function() {});
解决方案2,不工作
jQuery(window).load(function() {});
还有什么办法可以解决这个问题吗?提前谢谢大家
您需要专门针对image元素来检查它是否已加载。
$('#image').load(function () {
console.log('image loaded');
});
要检查音频元素是否准备好播放,您需要使用onloadeddata
。
var myAudio = new Audio('http://www.mfiles.co.uk/mp3-downloads/edvard-grieg-peer-gynt1-morning-mood.mp3');
myAudio.onloadeddata = audioIsLoaded();
function audioIsLoaded() {
console.log('audio is loaded');
}
运行下面的代码片段,看看它是如何工作的。
$('#image').load(function() {
alert('image loaded');
});
var myAudio = new Audio('http://www.mfiles.co.uk/mp3-downloads/edvard-grieg-peer-gynt1-morning-mood.mp3');
myAudio.onloadeddata = audioReady();
function audioReady() {
alert('audio ready');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<img id="image" src="http://armpit-wrestling.com/wp-content/uploads/2016/06/bret-hart.jpg">
相关文章:
- 使用JS和JQuery播放和停止声音
- 在显示页面之前使用 jquery ajax 加载图像和声音
- 如何使用 jquery、声音/静音按钮更改图像 SRC onclick
- 为一个声音元素数组创建一个音频对象jquery,javascript
- 背景音乐jquery声音
- 使用 jquery 将声音从静音更改为取消静音
- 仅在一个窗口中播放声音,该窗口使用javascript(可能是jquery)处于活动状态(在一个网站内)
- 当结果以HTML建立时,使用Jquery播放声音
- 使用 jQuery 播放声音和运行计时器
- 是否可以使jQuery单击事件触发播放声音重叠的函数
- 谁能告诉我如何使用javascript或html或jquery在网页中播放声音文件
- 尝试使用SoundJS和jQuery's可选择,但声音不;我不在萤火虫上工作
- 如何使用jQuery和Javascript在多次单击时播放相同的声音
- jquery播放机身更换声音
- 在jquery mobile的不同页面上播放声音
- 在另一个jquery事件完成后播放声音
- 如何在jQuery和javascript上播放ajax post方式的声音效果
- 移除监听器类并不能停止与Jquery Javascript相关的声音事件
- 由于跨域访问控制,无法使用jquery ajax来获取声音文件
- 停止html声音与Javascript/Jquery