使用javascript / jquery,为什么会这样:
/
html5-webcam-save.php
selfie_html5.html
/images (folder)
但不是这样:
var vid = document.getElementById("bgvid");
function stopVideo() {
vid.pause();
}
setTimeout(stopVideo, 2000);
相反,当我稍后尝试淡化相同的视频时,这有效:
var vid = $('#bgvid');
function stopVideo() {
vid.pause();
}
setTimeout(stopVideo, 2000);
但这并不是:
$('#bgvid').parent().delay(13000).fadeOut(2000);
我认为var" vid"通过id获取视频元素将等同于$(' #bgvid')...
而且更重要的是,我有一个元素在一段时间后出现并淡出:
vid.parent().delay(13000).fadeOut(2000);
如果用户点击,我也想让它淡出,所以我试过这个:
var element = $( '#element' );
element.hide().delay(6000).fadeIn(500).delay(6000).fadeOut(500);
但是当我点击没有任何反应时,元素不会淡出。控制台上没有错误。谢谢你的时间。
答案 0 :(得分:0)
根据上面的答案,javascript选择器不等于JQuery对象。有关详细信息,请查看以前的答案:document.getElementById vs jQuery $()
要获取与javascript选择器相同的DOM对象,必须选择JQuery对象数组中的第一个对象:vid.get(0)
关于fadeOut问题,在其他事件结束之前,您无法在同一ID上激活onClick功能。
为了解决这个问题,我建议将你的元素放在一个新的div中,在这个div上运行show / hide计时器,并在元素上运行onClick fadeout。
var element = $( '#element' );
element.hide().parent().delay(6000).fadeIn(500).delay(6000).fadeOut(500);
$( document ).on('click', function(){
element.fadeOut(500);
});
祝你好运。