gpt4 book ai didi

javascript - Jquery 中的鼠标事件

转载 作者:数据小太阳 更新时间:2023-10-29 05:41:45 25 4
gpt4 key购买 nike

基本上,我有这张带有左右箭头按钮的图片。默认情况下,这张图片是我从一些 gif 中提取的第一帧,原始 gif 包含 31 帧。我的目标是当用户单击向右箭头按钮时,我想显示下一帧等等......一切都完美无缺,如下面的代码所示。但是,我需要添加一些 mousehold 事件,以便当用户单击并按住鼠标时,我想继续触发下一个图像。我怎样才能做到这一点?

$('#arrow_right').click(function (event) {
event.preventDefault();
var data_id = parseInt($(this).parent().find('#inner_wrap img').attr('data-id'));

if (data_id >= 1 && data_id <= 30) {
data_id = data_id + 1;
var avatar_num = $('#inner_wrap').html('<img id="avatar" data-id="' + data_id + '" src="img/avatar_test' + data_id + '.gif" width="90" height="200">');
}
});

最佳答案

那么您可以使用mousedown 事件来启动显示gif 帧的函数:http://api.jquery.com/mousedown/然后为将停止该函数的 mouseup 事件添加另一个事件处理程序。例如,可以通过 mousedown 事件中的 setInterval() 调用该函数,并通过 mouseup 事件中的 clearInterval() 停止 事件。

这是一个说明原理的例子:

var interval;
$(button).addEventListener('mousedown',function(e) {
interval = setInterval(function() {
// here goes your code that displays your image/replaces the one that is already there
},500); // 500ms between each frame
});
$(button).addEventListener('mouseup',function(e) {
clearInterval(interval);
});
// Thank you, Timo002, for your contribution!
// This code will stop the interval if you move your mouse away from the button while still holding it.
$(button).addEventListener('mouseout',function(e) {
clearInterval(interval);
});

关于javascript - Jquery 中的鼠标事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16707170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com