Ich bin neu zu js Objekt und ich versuche, ein einfaches Plugin in jQuery zu schreiben, aber ich habe Probleme, Eigenschaften zu deklarieren.
Schauen Sie sich das JSFIDDLE für eine bessere markierten CodeVerwenden von jquery-Methode .find() innerhalb von Objektdeklaration
$.fn.robertSlider = function(params){
var slider = {
arrow: this.find(".slider-arrow"),
arrowNext: this.find(".slider-arrow--arrowNext"),
arrowPrev: this.find(".slider-arrow--arrowPrev"),
sliderItem: this.find(".slider-item"),
sliderList: this.find(".slider-content-list"),
itemsOnScreen: params.itemsOnScreen,
marginCollapse: params.marginCollapse
};
slider.amountItems = slider.sliderItem.length; // is there a way to declare this directly inside the obj?
slider.sliderWidth = slider.sliderList.width(); // is there a way to declare this directly inside the obj?
var helpers = {
firstVisible: 0,
canGoNext: true,
canGoPrev: false
}
}
$(".slider-container").robertSlider({
itemsOnScreen: 6,
marginCollapse: 10
});
Nun meine Frage ist: Was ist falsch an dieser Objektdeklaration?
Weil, wenn ich versuche, slider.sliderWidth
zu loggen, funktioniert es nicht, ich bekomme null
. Ich versuchte slider.sliderList
ich ein ganz anderes Ergebnis erhalten einzuloggen, wie ich $(".slider-content-list")
UPDATE
Hier unten ist der Screenshot des log zwischen slider.arrow
und $(".slider-arrow")
Hoffnung ist alles klar log ist :)
Vielen Dank im Voraus!
"this" korrekt ist. Kannst du den HTML-Code in deiner Geige veröffentlichen? –