javascript - 在循环中合并代码的更好方法是什么?

标签 javascript loops

如何在循环中合并以下代码?我的目标是在类(class)结束时用连续的数字重复 .node 和 .visual-content 类(class)。

$s(".node1").hover(function () {
$s(".visual-content1").fadeIn("slow");
 $s(".visual-content2").fadeOut();
 $s(".visual-content3").fadeOut();
 $s(".visual-content4").fadeOut();
 $s(".visual-content5").fadeOut();
 $s(".visual-content6").fadeOut();
 $s(".visual-content7").fadeOut();
 $s(".visual-content8").fadeOut();
 $s(".visual-content9").fadeOut();
 $s(".visual-content10").fadeOut();
});

$s(".node2").hover(function () {
$s(".visual-content2").fadeIn();
 $s(".visual-content1").fadeOut();
 $s(".visual-content3").fadeOut();
 $s(".visual-content4").fadeOut();
 $s(".visual-content5").fadeOut();
 $s(".visual-content6").fadeOut();
 $s(".visual-content7").fadeOut();
 $s(".visual-content8").fadeOut();
 $s(".visual-content9").fadeOut();
 $s(".visual-content10").fadeOut();
});

最佳答案

基本上你做两个循环:.nodes 的外部循环和视觉内容的内部循环。那会像这样工作:

for(let i = 1; i <= 10; i++){
    $s(".node"+i).hover(function(){
    $s(".visual-content"+i).fadeIn("slow");
    for(let j = 1; j <= 10; j++){
        if(j != i){
        $s(".visual-content"+j).fadeOut();
      }
    }
  });
}

虽然评论是正确的,但您可能想检查一下是否有更好的解决方案。

关于javascript - 在循环中合并代码的更好方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58383071/

相关文章:

javascript - 使用 javascript 在 html 表中创建链接

javascript - Onclick HTML 不调用 PHP "echo"中的 Javascript 函数

java - 让这个循环变得简单(在Java中使用循环打印字母J)

r - R 中的循环 - 需要使用索引,无论如何要避免 'for' ?

ruby - 这个 "Telephone Words"算法的大 O 复杂度是多少?

javascript - Meteor.js 应用程序无法启动 | "You are attempting to run Meteor as the ' root' super 用户...”

javascript - 在 Firefox 中捕获提交有效,但在 Chrome 中无效

javascript - 单击时缩放多个 div

java - 如何有效地对用户输入进行分类

java - 如何让这段java代码返回到代码中的某个点?