Цитата:
Цитата:
Цитата:
|
Как я понял тебе надо что-то вроде этого:
(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, время: 10:51. |