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 19:14:29 浏览: 133
第二层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 对象,并解析其中的各个属性值,将其赋值给组件中对应的数据属性中。这个组件可能是用于发布视频信息的表单组件,其中包含了视频名称、封面、视频、用户信息等多个属性。
var show1ClickNum=0; var getS1=document.getElementsByClassName("rs1Set1")[0].querySelector("p"); function show1(){ show1ClickNum+=1; } switch(show1ClickNum){ case 1: getS1.innerHTML="欢迎你"; case 2: getS1.innerHTML="这是一个innerHTML的使用实例"; case 3: getS1.innerHTML="语法为innerHTML=\"这里是要修改的内容\""; }
你的代码中有几个问题需要注意:
1. 在 `switch` 语句之外,`switch` 语句不会被执行。你需要将 `switch` 语句放在 `show1` 函数内部,这样它才能根据点击次数进行判断和执行。
2. `switch` 语句中的 `case` 是连续执行的,除非你在每个 `case` 后面加上 `break` 语句。否则,即使点击次数不是 1,后续的 `case` 也会被执行。
3. 你需要将 `switch` 语句放在 `show1` 函数内部,并确保在每个 `case` 后面加上 `break` 语句。
修正后的代码如下所示:
```javascript
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;
default:
// 其他情况的处理
break;
}
}
```
这样,当点击触发 `show1` 函数时,根据点击次数的不同,`getS1.innerHTML` 的内容会被修改。
阅读全文