我的网站上有一个小滑块,它总是很完美,但现在我收到了这个错误:
语法错误:“myIndex”是只读的
这是我的JavaScript代码:
const myIndex = 0;
carousel();
function carousel() {
let i;
const x = document.getElementsByClassName(`slides`);
for (i = 0;i < x.length;i ++) {
x[i].style.display = `none`;
}
myIndex ++;
if (myIndex > x.length) {
myIndex = 1;
}
x[myIndex - 1].style.display = `block`;
setTimeout(carousel, 4000); // Change image every 2 seconds
}
这是html:
<div class="home-slider">
<img class="slides" src="assets/img/slide_1.jpg" alt="slide1">
<img class="slides" src="assets/img/slide_2.jpg" alt="slide2">
<img class="slides" src="assets/img/slide_3.jpg" alt="slide3">
</div>
我该如何解决这个问题?
答案 0 :(得分:2)
您使用myIndex
声明定义const
。 const
创造一个常数;也就是说,首次初始化后无法更改的值。
执行myIndex ++
时会抛出错误,const
会尝试增加存储的值。
而不是let
,请使用var
或let myIndex = 0;
:
url(r'entry/list/(?P<month>\w+)$', views.EntryListView.as_view(), name='entry-list')
常量是块作用域的,就像使用let语句定义的变量一样。 常量的值不能通过重新分配而改变,也不能重新声明。