gpt4 book ai didi

jquery - 如何通过id为多个div创建jquery mouseover?

转载 作者:行者123 更新时间:2023-12-01 07:17:47 26 4
gpt4 key购买 nike

嗨,我正在尝试将一系列鼠标悬停事件分组为一个,但我对 javascript 非常陌生,并且感到非常困惑。我有 5 个按钮,如下所示,我想创建一个函数来包含所有这些按钮。我将 div 的类用于此处未包含的另一个函数。我相信我必须使用 id 来进行鼠标悬停。

$('#trigger1').mouseover(function(){ 
$('#roll1r').fadeOut('slow');
});

http://jsfiddle.net/alexnode/fCw6y/2/

我使用条件来定义要隐藏哪个元素,但我不确定如何定义变量并将它们传递给淡出函数。我已经尝试了各种语法将其作为字符串传递,但我不明白问题是什么。

$('#trigger1, #trigger2, #trigger3').mouseover(function () {
var roll = null;
var that = $(this);


if (that==="#trigger1"){roll = "$('#roll1r')";}
else if(that==="#trigger2"){roll ="$('#roll2r')";}
else if(that==="#trigger3"){roll = "$('#roll3r')";}
console.log(roll);
roll.fadeOut({
duration:300,
// fail: that.hide()
});
});

<div class="buttoncontainer" >

<div id="buttonbg1">
<img id="roll1" class="translatebuttons" src="images/buttonover.png" alt="Translation games">
<img id="roll1r" class="translatebuttons" src="images/button.png" alt="Translation games">
<div class="translatebuttons" id="tr1"></div>
<div id="trigger1" class="translatebuttons"></div>
</div>

<div id="buttonbg2">
<img id="roll2" class="translatebuttons" src="images/buttonover.png" alt="Translation games"> <img id="roll2r" class="translatebuttons" src="images/button.png" alt="Translation games">
<div class="translatebuttons" id="tr2"></div>
<div id="trigger2" class="translatebuttons"></div>
</div>


<div id="buttonbg3">
<img id="roll3" class="translatebuttons" src="images/buttonover.png" alt="Translation games"> <img id="roll3r" src="images/button.png" alt="Translation games">
<div class="translatebuttons" id="tr3"></div>
<div id="trigger3" class="translatebuttons"></div>
</div>

</div>

最佳答案

您正在寻找这样的东西吗?一种只需一个处理程序即可简化代码的方法:

   $('[id^=trigger]').hover(function () { 
var roll = $(this.id.replace(/trigger/, '#roll') + 'r');
roll.fadeToggle({
duration: 300
});
});

Fiddle

  • 使用startswith 选择器选择所有触发器
  • 使用hover 鼠标进入/鼠标离开的快捷方式
  • 使用简单的正则表达式 repalce 来计算相应卷的 id
  • 使用fadeToggle 切换滚动的淡入淡出状态。

关于jquery - 如何通过id为多个div创建jquery mouseover?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17246650/

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