javascript - 如何优化Javascript函数

标签 javascript jquery html

当我将鼠标悬停在不同 div 的子元素上时,我想在 div 子元素上制作动画,这是我的代码:

$('.section li:nth-child(1)').hover(function(){
    $('.section2 li:nth-child(1)').toggleClass('is-over');
});
		
$('.section li:nth-child(2)').hover(function(){
    $('.section2 li:nth-child(2)').toggleClass('is-over');
});

$('.section li:nth-child(3)').hover(function(){
    $('.section2 li:nth-child(3)').toggleClass('is-over');
});

$('.section li:nth-child(4)').hover(function(){
    $('.section2 li:nth-child(4)').toggleClass('is-over');
});

那么我该如何优化它呢?

最佳答案

您可以使用$(this).index()来获取悬停项的索引

$('.section li').hover(function(){
  var index = $(this).index()+1;
  $('.section2 li:nth-child('+index+')').toggleClass('is-over');
});
.is-over {
  color : red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="section">
    <li>Step 1</li>
    <li>Step 2</li>
</ul>

<ul class="section2">
    <li>Step 11</li>
    <li>Step 22</li>
</ul>

关于javascript - 如何优化Javascript函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37617850/

相关文章:

Javascript通过对象内的字符串引用变量名

javascript - 将ajax请求的内容加载到DOJO中的dom节点

php - 从数据库中选择时的隐藏字段更改

javascript - 获取脚本以返回 HTML 中的链接

html - 在多选中查看所选选项的短值

javascript - 单击加载 Accordian 面板而不是页面加载

javascript - Chrome 扩展程序可通过扩展程序弹出窗口中的按钮更改 DOM

javascript - 使用 JavaScript 更改元素的 `innerHTML`

javascript - 按 z 索引定位幻灯片并分配类别

javascript - 一键执行多个js文件