プロトタイプを始めたばかりで、開発中の Web サイトでさまざまなことをテストしようとしています。しかし、エラーに出くわしました。その理由はわかりません。以前にそのプロパティを使用していて、機能していたからです。
私は経験豊富な JavaScript 開発者ではありません。まだ学んでいますが、次のような結果が得られました。
var defaults = {
local_storage_key : "Cluster",
plugin_navigation : ".navigation",
plugin_wrapper : "content-wrapper",
iqns_class : ".iqn"
}
var Clusters = function(environment, options){
this.options = $.extend({}, defaults, options);
this.environment = environment;
this.viewport = $(window);
this.viewport_width = this.viewport.width();
this.viewport_height = this.viewport.height();
this.data_key = this.options.local_storage_key;
this.iqns_class = this.viewport.find(this.options.iqns_class);
this.iqn = this.iqns_class.parent();
this.shop_initiated = false;
this.plugin_navigation = this.options.plugin_navigation;
this.plugin_wrapper = this.options.plugin_wrapper;
this.initiate_plugin(this.plugin_navigation, {
containerID : this.plugin_wrapper,
first : false,
previous : false,
next : false,
last : false,
startPage : this.get_local_storage_data(),
perPage : 6,
midRange : 15,
startRange : 1,
endRange : 1,
keyBrowse : false,
scrollBrowse: false,
pause : 0,
clickStop : true,
delay : 50,
direction : "auto",
animation : "fadeInUp",
links : "title",
fallback : 1000,
minHeight : true,
callback : function(pages) {
this.set_local_storage_data(pages.current);
}
});
this.initiate_auxiliars();
this.set_environment();
};
Clusters.prototype.set_local_storage_data = function(data_val) {
return localStorage.setItem(this.data_key, data_val);
};
Clusters.prototype.get_local_storage_data = function() {
return +(localStorage.getItem(this.data_key) || 1);
};
Clusters.prototype.shop_iqns_selected_class = function() {
var self = this;
if (this.viewport_width < 980) {
$(this.iqns_class).each(function(index, element) {
var element = $(element);
$(self.iqn).on('click', function() {
if (element.hasClass('selected')) {
element.removeClass('selected');
} else {
element.addClass('selected');
}
});
});
}
}
Clusters.prototype.initiate_plugin = function(plugin_navigation, plugin_options) {
return $(plugin_navigation).jPages(plugin_options);
}
Clusters.prototype.initiate_auxiliars = function() {
return this.shop_iqns_selected_class();
}
Clusters.prototype.set_environment = function() {
if(this.environment == "Development") {
less.env = "development";
less.watch();
}
}
var cluster = new Clusters("Development");
プロトタイピングについて間違っていることや誤解していることがあると確信しています。そうでなければ、エラーは発生しないからです。私が間違っていること、何をすべきか、すべきでないかについて、意見や指示を求めているだけです。
これは私が得るエラーです:
Uncaught TypeError: Object #<Object> has no method 'set_local_storage_data' on line 53