Цитата:
Цитата:
Цитата:
|
Как я понял тебе надо что-то вроде этого:
(function(){
var menuObj = {
method1: method1,
method2: method2,
method3: method3
}
function method1() {
//some code
return menuObj;
}
function method2() {
//some code
return menuObj;
}
function method3() {
//some code
return menuObj;
}
window.yourMenu = menuObj;
$(document).ready(function() {
//этот код будет выполнен после загрузки документа
yourMenu.method1();
yourMenu.method2();
yourMenu.method3();
yourMenu.method1().method2().method3();
});
})();
Ну а еще лучше сделать полноценный конструктор. |
Цитата:
$(document ).ready(function() { ... })
вылезает ошибка на строке: menu.onmousedown = myDown; А если добавить
$(document ).ready(function() { ... })
то все ок!!! вот полный код:
var menu = document.getElementById('menu')
menu.onmousedown = myDown;
menu.onmouseup = myUp;
menu.onmousemove = myMove;
function myDown(e) {
switch (e.button) {
case 0:
break
case 2:
switch (showMenu) {
case false:
xMenu = xMouse;
yMenu = yMouse;
showMenu = true;
drawMenu()
break
case true:
clearMenu();
break
}
break
default:
alert('Bad request');
break
}
}
|
ААААААААА, ФАК ФАК ФАК ФАК, Я ЛООХ!
Кароче, да, вы были правы) Ошибка то вылезала потому что я скрипт подключал в head а там еще не существует элемента с id="Menu" >__________< Вообщем осталась последняя проблема которую так и не решил) У меня в menu.js нужно указать функцию которая будет описана в основном коде страничке, т.е. в index.html P.S.: Уже решил, в принципе все заработало и так, стоило описать функцию перед подгрузкой скрипта. Спасибо огромное за помощь, побольше вам жирных плюсов в репутацию!) |
Ну так и суй в ready только тот код, который должен непосредственно с DOM работать. В данном случае это вот этот код:
var menu = document.getElementById('menu')
menu.onmousedown = myDown;
menu.onmouseup = myUp;
menu.onmousemove = myMove;
|
А нет, кстати, что забавно все равно остался косяк который теперь мне тем более не понятен.
<script>
function MyMenuActions(a) { alert(a)}
</script>
<script src="menu.js" type="text/javascript"></script>
<script>
myMenu
</script>
Так все ок, на myMenu не ругается, а вот если сделать myMeny.AddMenu("Main","New") Выдает ошибку, мол знать не знаю таких функций. В js эта функция выглядит так:
window.myMenu = function () {
var pub
function AddMenu(a,b) {
for (var i=0;i<menuList.length;i++)
if (menuList[i][1] == a) {
menuList[i].push(b)
menuList.push(b)
}
return pub
}
pub = {
'AddMenu': AddMenu,
}
return pub
}
|
Ну так у тебя myMenu - это функция, у нее нет методов. Делай так:
window.myMenu = (function () {
var pub
function AddMenu(a,b) {
for (var i=0;i<menuList.length;i++)
if (menuList[i][1] == a) {
menuList[i].push(b)
menuList.push(b)
}
return pub
}
pub = {
'AddMenu': AddMenu,
}
return pub
})();
|
ДА, вот теперь это решило проблему)
Спасибо огромное за потраченное на меня время!!!) |
Siend, функции принято с маленькой буквы называть. С большой называют классы (в JS - конструкторы).
|
| Часовой пояс GMT +3, время: 07:34. |