Javascript 什么';在循环中整合代码的更好方法是什么?
如何在循环中整合以下代码?我的目标是重复类.node和.visual内容,并在类的末尾添加一个连续的数字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
$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。非常有效。谢谢!