Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 什么';在循环中整合代码的更好方法是什么?_Javascript_Loops - Fatal编程技术网

Javascript 什么';在循环中整合代码的更好方法是什么?

Javascript 什么';在循环中整合代码的更好方法是什么?,javascript,loops,Javascript,Loops,如何在循环中整合以下代码?我的目标是重复类.node和.visual内容,并在类的末尾添加一个连续的数字 $s(".node1").hover(function () { $s(".visual-content1").fadeIn("slow"); $s(".visual-content2").fadeOut(); $s(".visual-content3").fadeOut(); $s(".visual-content4").fadeOut(); $s(".visual-content

如何在循环中整合以下代码?我的目标是重复类.node和.visual内容,并在类的末尾添加一个连续的数字

$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();
      }
    }
  });
}

for(让i=1;i使用类和数据属性并忽略所有复制粘贴代码)

$(.node”).on(“鼠标指针”,函数(){
var-toggles=$(this.data('toggles'))
$('.content').not(切换).fadeOut()
$(切换).fadeIn()
})
.content{
显示:无;
}

  • 一个
  • 两个
  • 三个
一个内容 两个内容
三个内容
A for循环。这实际上是对类的滥用,根据定义,类是一组类似的东西。只需使用一个类名即可。很可能您可以使用其他技术来识别单个元素。简言之,您提出了错误的问题。发布您的标记以获得更好的建议。拥有所有类可能是一个错误这些类的后缀是数字。如果元素是容器中连续的元素范围,您可能应该使用公共选择器找到它们并循环遍历它们。如果它们在DOM中的顺序与您希望遍历它们的顺序不匹配,则应该使用单独的标记(如
数据
属性)允许您在遍历它们之前强加一个顺序。无需循环
$('[class^=“visual content”]').
是否
$s()
是jQuery引用?如果是,请将问题标记为jQuery。非常有效。谢谢!