使用jQuery调整视频音量无效求助:trigger('play')可正常触发
问题解决
首先,你的代码里有两个关键问题导致音量设置失效,和视频元素有没有id无关:
addClass语法错误
你写的jQuery(this).addClass(".v1 open-video");里,类名不该带.——.v1是选择器符号,addClass只需要传入类名本身,正确写法是:
jQuery(this).addClass("open-video");
(如果.v1本来就是该元素的类,不需要重复添加)
- jQuery对象无法直接访问原生DOM的
volume属性jQuery(".v1 video")返回的是jQuery包装后的元素集合,不是原生video DOM节点,所以不能直接用.volume。你需要先获取原生DOM元素,再设置音量:
// 方法1:通过索引取第一个匹配的元素 jQuery(".v1 video")[0].volume = 1.0; // 方法2:用.get(0)获取原生元素 jQuery(".v1 video").get(0).volume = 1.0;
另外,为避免匹配多个video元素出问题,建议确保.v1下只有一个视频元素,或者使用更精确的选择器。
修正后的完整代码:
jQuery('.v1 .wpb_single_image').click(function() { jQuery(this).addClass("open-video"); const video = jQuery(".v1 video")[0]; video.play(); // 直接用原生play方法,和trigger('play')效果一致 video.volume = 1.0; });
内容的提问来源于stack exchange,提问作者Benjamin Seifert
相关产品推荐
相关产品推荐

