Javascript 如何为2个元素绑定相同的操作
我有这样一个基本代码(重复多次): 我知道我可以为标题创建如下事件:Javascript 如何为2个元素绑定相同的操作,javascript,jquery,html,Javascript,Jquery,Html,我有这样一个基本代码(重复多次): 我知道我可以为标题创建如下事件: $('h3').mouseenter(function() { $(this)**.next()**.find(".showUp")... }); 但是,我如何将这些元素绑定到元素上,以便使用单词this对一个函数执行相同的操作呢。也许这对你有帮助,但我不确定。只有你可以试试这个。这个应该可以 $('.content, h3') .mouseenter(function() { $(this)
$('h3').mouseenter(function() {
$(this)**.next()**.find(".showUp")...
});
但是,我如何将这些元素绑定到元素上,以便使用单词this对一个函数执行相同的操作呢。也许这对你有帮助,但我不确定。只有你可以试试这个。这个应该可以
$('.content, h3')
.mouseenter(function() {
$(this).find('+ .content > .showUp').add($(this).find('> .showUp')).stop().animate({left: 0},300)});
})
.mouseleave(function() {
$(this).find('+ .content > .showUp').add($(this).find('> .showUp')).stop().animate({left: -200},500)});
});
我们在.content
和h3
上都附加了一个事件侦听器。然后在事件侦听器中,我们搜索直接同级(如果存在)(+.content>.showUp
)或直接子级(如果存在)
因此,在任何情况下我们都将使用.showUp
div来制作动画
我还添加了.stop()
方法,用于在动画制作之前停止动画(因此,如果将h3
和.content
悬停,动画不会出现一些奇怪的行为)
我在这里做了一个,所以你可以看到它是如何工作的。这个例子不知怎么的不起作用(也许我做错了什么),但我发现不是这样写的:
.add($(this).find('+ content > .showUp'))
.add($(this).next().find('.showUp')
我写了这篇文章,它对我很有用:
.add($(this).find('+ content > .showUp'))
.add($(this).next().find('.showUp')