if(this.clickNum !== this.getInfo.list.length){ this.clickNum++ console.log(this.clickNum); // 判断是否需要平移 if(this.clickNum > this.getInfo.list.length-3){ }else{ console.log('应该执行平移'); this.clickCount-= 190; // if(this.i <this.getInfo.list.length-1){ // this.i++ // } } }else{ }这段代码为什么第二层if else 判断再第一层if逻辑达成后不再执行。怎么可以让它一直根据第一层if逻辑来执行?用代码告诉我
时间: 2024-02-10 11:14:29 浏览: 136
第二层if-else语句在第一层if语句的条件为true时只会执行一次,因为它们在第一次执行后,clickNum的值已经等于list.length了。如果想让它们在每次第一层if语句满足条件时都执行一次,可以将clickNum的值重新设置为0。修改后的代码如下:
```
if(this.clickNum !== this.getInfo.list.length){
this.clickNum++;
console.log(this.clickNum);
// 判断是否需要平移
if(this.clickNum > this.getInfo.list.length-3){
}else{
console.log('应该执行平移');
this.clickCount-= 190;
// if(this.i <this.getInfo.list.length-1){
// this.i++
// }
}
}else{
// 重新设置clickNum的值为0
this.clickNum = 0;
}
```
相关问题
}, created() { //this.bg(); let type = this.$route.query.type ? this.$route.query.type : ''; this.init(type); this.baseUrl = this.$config.baseUrl; this.ruleForm.fabushijian = this.getCurDateTime() }, methods: { getMakeZero(s) { return s < 10 ? '0' + s : s; }, // 下载 download(file){ window.open(`${file}`) }, // 初始化 init(type) { this.type = type; if(type=='cross'){ var obj = JSON.parse(localStorage.getItem('crossObj')); for (var o in obj){ if(o=='shipinmingcheng'){ this.ruleForm.shipinmingcheng = obj[o]; this.ro.shipinmingcheng = true; continue; } if(o=='shipinfengmian'){ this.ruleForm.shipinfengmian = obj[o].split(",")[0]; this.ro.shipinfengmian = true; continue; } if(o=='shipin'){ this.ruleForm.shipin = obj[o]; this.ro.shipin = true; continue; } if(o=='yonghuming'){ this.ruleForm.yonghuming = obj[o]; this.ro.yonghuming = true; continue; } if(o=='xingming'){ this.ruleForm.xingming = obj[o]; this.ro.xingming = true; continue; } if(o=='fabushijian'){ this.ruleForm.fabushijian = obj[o]; this.ro.fabushijian = true; continue; } if(o=='thumbsupnum'){ this.ruleForm.thumbsupnum = obj[o]; this.ro.thumbsupnum = true; continue; } if(o=='crazilynum'){ this.ruleForm.crazilynum = obj[o]; this.ro.crazilynum = true; continue; } if(o=='clicknum'){ this.ruleForm.clicknum = obj[o]; this.ro.clicknum = true; continue; } } }
这段代码是一个 Vue.js 组件的 created 钩子函数,用于初始化组件。在这个函数中,首先根据路由参数获取 type 值(如果没有则默认为空字符串),然后调用 init 方法进行初始化。在 init 方法中,根据 type 值判断是否为 cross 类型,然后从本地存储中读取 crossObj 对象,并解析其中的各个属性值,将其赋值给组件中对应的数据属性中。这个组件可能是用于发布视频信息的表单组件,其中包含了视频名称、封面、视频、用户信息等多个属性。
//rs1 var show1ClickNum=0; var getS1=document.getElementsByClassName("rs1Set1")[0].querySelector("p"); function show1(){ show1ClickNum+=1; switch(show1ClickNum){ case 1: getS1.innerHTML="欢迎你"; break; case 2: getS1.innerHTML="这是一个innerHTML的使用实例"; break; case 3: getS1.innerHTML="语法为innerHTML=\"这里是要修改的内容\""; break; case 4: show1ClickNum=0; getS1.innerHTML="你好"; break; } } // var list=[]; var list2=[]; for(var i=1;i<7;i++){ var items="l"+i; var item2="rs"+i; list.push(items); list2.push(item2); } console.log(list); for(var i=0;i<6;i++){ let get=document.getElementById(list[i]); get.addEventListener("click",function(){ get.style.width="90%"; get.style.height="8vh"; let get2=document.getElementById(list2[i]); get2.style.zIndex="15"; }); }
这段代码中包含两部分。
第一部分是有关于 `rs1` 元素的操作。首先,通过 `getElementsByClassName` 方法获取到类名为 "rs1Set1" 的元素集合,然后通过索引 `[0]` 选择第一个元素,接着使用 `querySelector` 方法获取该元素下的 `<p>` 元素。接下来定义了一个变量 `show1ClickNum`,用于记录点击次数。在 `show1` 函数中,每次点击都会增加 `show1ClickNum` 的值,并根据不同的值,使用 `switch` 语句来更新 `getS1` 元素的 `innerHTML` 属性。这样,每次点击 `rs1` 元素时,`getS1` 元素的内容会依次改变。
第二部分是与列表(数组)操作相关的代码。首先定义了两个空数组 `list` 和 `list2`,然后使用 `for` 循环来生成一组元素名,并将它们依次添加到对应的数组中。最后,通过 `console.log(list)` 打印输出 `list` 数组。接着使用 `for` 循环来遍历 `list` 数组,获取每个元素的引用,并为其添加了一个点击事件监听器。每次点击时,会修改对应元素的宽度和高度,并将另一个元素的 `zIndex` 属性设置为 15。
希望以上解释对您有所帮助。如果还有其他问题,请随时提问。
阅读全文