2017-03-27 7 views
-2

私は私のウェブサイトに小さなスライダーを持っており、それは常に完璧に働いたが、今、私はこのエラーを取得する:スライドショーで読み取り専用エラーが発生するのはなぜですか?

Syntax error: "myIndex" is read-only

これは私の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> 

どうすればこの問題を解決できますか?

答えて

1

constステートメントでmyIndexを定義しています。 constは定数を作成します。すなわち、最初に初期化された後に変更することができない値である。

myIndex ++を実行すると、格納された値をインクリメントしようとすると、エラーがスローされます。代わりにconst

letまたはvarを使用します。

let myIndex = 0; 

Constants are block-scoped, much like variables defined using the let statement. The value of a constant cannot change through re-assignment, and it can't be redeclared.

MDN's const Documentation

+0

はどうもありがとうございました!これは私の問題を解決しました! – JoyceEmma

関連する問題