[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вызов метода в методе
N0ob
Имеется такой код(пример):
function Classes
{
this.v1 = 1;
this.v2 = 2;

this.print = function ()
{
document.write(this.getVars());
reutrn false;
}

this.getVars = function ()
{
return this.v1 + " " + this.v2;
}
}

var cl = new Classes();
cl.print();


То есть внутри метода print() я вызываю метод getVars(), но выдает вот такую вот ошибку:
Цитата
Uncaught TypeError: this.getVars is not a function

Как решить эту проблему?
AllesKlar
function Classes()

return false;

_____________
[продано копирайтерам]
N0ob
Цитата
function Classes()

Это в коде есть, это при написании примера такой косяк допустил. Недоглядел

Цитата
return false;

Это не решило проблему
N0ob
I need your help! I need your......
Invis1ble
Цитата (N0ob @ 21.11.2015 - 12:51)
I need your help! I need your......
N0ob
Invis1ble
Таааакс, а вот это уже интересно! Сейчас будет стыковаться
N0ob
Выкладываю действительный код:
function History ()
{
this.Uri = window.location.href;
this.options = this.parseGetParams;
this.history = window.history;
this.modalWindow = false;

//
this.parseGetParams = function ()
{
var $_GET = {};
var __GET = window.location.search.substring(1).split("&");

for(var i=0; i<__GET.length; i++)
{
var getVar = __GET[i].split("=");
$_GET[getVar[0]] = typeof(getVar[1])=="undefined" ? "" : getVar[1];
}

return $_GET;
}


//


this.loadPage = function (pagename, options)
{
$.ajax({
url : "/engine/ajax/loadPage.php",
type : "POST",
async : true,
dataType : "json",
data: "pagename="+pagename+"&options=" + JSON.stringify(options),
success: function (data) {
if(data.success == true)
{
log("Пришел код страницы");

var page = data.page;
var window = data.window;

if(page.load)
{
$('.content').html(page.content);
$('title').html(page.title);
}else if(page.load == false)
{
alert("Невозможно загрузить страницу");
}

if(window.load)
{
$('title').html(window.title);
this.windowOpen(window.content);
this.modalWindow = true;
}


}

}
,
error: function (a, b) {
alert("При загрузке страницы произошла ошибка: " + a.responseText);
}
}
);

return false;
}


this.init = function ()
{
$('a[class=link]').on('click', function(event)
{
event.preventDefault();

var targetLink = $(this).attr('href');
var pgname = targetLink.substr(1) == "" ? "main":targetLink.substr(1);
var pgname = pgname == window.location.pathname.substr(1) ? null:pgname;

window.history.pushState({uri:pgname}, null, targetLink);

this.loadPage(pgname, this.options);

return false;
});


//
$(window).bind('popstate', function(event)
{
var uri = this.history.state.uri.substr(1);

if(this.modalWindow.length && this.modalWindow)
{
this.closewindow();
}

this.loadPage(uri);
});
}


this.closewindow = function ()
{
var bg = document.getElementById('black_bg');

bg.style.display = "none";
document.body.style.overflowY = "scroll";
document.body.style.paddingRight = "0px";


this.history.pushState({uri:targetLink}, null, targetLink);
this.modalWindow = false;

return false;
}


return false;

}


И вызов этой лабуды:
<script type="text/javascript">
var
history = new History();

history.init();
</script>
<a
class="link" href="/main">Клац</a>


И текст ошибки:
Цитата
Uncaught TypeError: this.loadPage is not a function

Где ошибка?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.