JavascriptでOOPが新しくなったので、独自の属性とメソッドを使用してSliderオブジェクトを作成したかったのです。私のメソッドslideNextImageでEventListenerを追加するまでうまく動作します。このメソッドがトリガーされると、メソッド内のすべての属性が未定義になります。イベントを付けないでメソッドを起動すると、うまくいきます。イベントに未定義のプロトタイプメソッドが添付されました
function Slider(photos, currentPhoto){ //Constructor
this.photos = photos;
this.currentPhoto = currentPhoto;
}
Slider.prototype.slideNextImage = function() {
document.getElementById("slider").style.backgroundImage = "url(" + this.photos[this.currentPhoto] + ")";
console.log("La foto actual es la " + this.currentPhoto + " y en el almacen hay " + this.photos.length);
}
var photos = ["../imagenes/images/wallpaper_5.jpg", "../imagenes/images/wallpaper_4.jpg", "../imagenes/images/wallpaper_3.jpg", "../imagenes/images/wallpaper_2.jpg", "../imagenes/images/wallpaper_1.jpg"];
var slider = new Slider(photos, 0);
document.getElementById("next").addEventListener("click", slider.slideNextImage);
ありがとうございます。
Awww、あなたは私にそれを打つことができます。 –
ありがとう、今は完璧に動作します。グローバルオブジェクトとは、イベントを受け取っているオブジェクトを意味しますか? –
うん、私は悪い、私はそれを修正しました。あなたは歓迎です:) – Jumpa