这是我想克服这个问题的js代码。 我正在使用开关盒来确定单击了哪个按钮。在这种情况下,我单击了右按钮,因此将执行右案件及其中的代码。
case 'right':
if (count == inspectionData.length-1) {
alert('No More Data');
return;
}
this.setState({
count:count+2
},()=>{
var elmnt = document.getElementById("diva"+count);
elmnt.scrollIntoView();
var elmnt1 = document.getElementById("divb"+count);
elmnt1.scrollIntoView();
var elmnt2 = document.getElementById("divc"+count);
elmnt2.scrollIntoView();
var elmnt3 = document.getElementById("divd"+count);
elmnt3.scrollIntoView();
var elmnt4 = document.getElementById("dive"+count);
elmnt4.scrollIntoView();
var elmnt5 = document.getElementById("divf"+count);
elmnt5.scrollIntoView();
var elmnt6 = document.getElementById("divg"+count);
elmnt6.scrollIntoView();
var elmnt7 = document.getElementById("divh"+count);
elmnt7.scrollIntoView();
var elmnt8 = document.getElementById("divi"+count);
elmnt8.scrollIntoView();
var elmnt9 = document.getElementById("divj"+count);
elmnt9.scrollIntoView();
var elmnt10 = document.getElementById("divk"+count);
elmnt10.scrollIntoView();
})
break;
请提供任何有用的建议。
答案 0 :(得分:1)
由于看不到您的HTML和CSS代码,因此我不得不想象您需要什么。接下来是我的代码:
let pptoms = Array.from(document.querySelectorAll(".pptom"))
pptoms.map((p) =>{
p.divs = Array.from(p.querySelectorAll(".box"))
})
let count = 7;
pptoms.map((p) =>{
p.divs[count].scrollIntoView();
})
let radios = Array.from(document.querySelectorAll("#controls [name='count']"));
radios.map((r) =>{
r.addEventListener("change",()=>{
count = parseInt(r.value);
console.log(count)
pptoms.map((p) =>{
p.divs[count].scrollIntoView();
})
})
})
.box {
border: 1px solid;
width: 5em;
height:2em;
line-height:2em;
text-align: center;
display: inline-block;
}
.container{width:50em;}
.pptom{
width:15em;
border:1px solid red;
overflow:scroll;
margin: .5em;
}
<div class="pptom">
<div class="container">
<div class ="box">box a 0</div>
<div class ="box">box a 1</div>
<div class ="box">box a 2</div>
<div class ="box">box a 3</div>
<div class ="box">box a 4</div>
<div class ="box">box a 5</div>
<div class ="box">box a 6</div>
<div class ="box">box a 7</div>
<div class ="box">box a 8</div>
</div>
</div>
<div class="pptom">
<div class="container">
<div class ="box">box b 0</div>
<div class ="box">box b 1</div>
<div class ="box">box b 2</div>
<div class ="box">box b 3</div>
<div class ="box">box b 4</div>
<div class ="box">box b 5</div>
<div class ="box">box b 6</div>
<div class ="box">box b 7</div>
<div class ="box">box b 8</div>
</div>
</div>
<form id="controls">
<label><input type="radio" name="count" value="0" />0</label>
<label><input type="radio" name="count" value="7" checked />7</label>
<label><input type="radio" name="count" value="8" />8</label>
</form>
在这种情况下,我使用count = 7
,但是您可以使用您的逻辑来获取计数值。
另外,由于我不想弄乱HTML,因此我只使用了2个div块,但是您可以根据需要添加任意数量的
我希望它会有所帮助。如果没有,请提供更多详细信息。