Использование одной переменной в нескольких функциях
Есть одна переменная обозначенная в самом начале файла скрипта
var name = document.getElementById('див'); Дальше идут множество функций использующих эту переменную. Например так name.style.display = 'none'; В роде бы всё норм, но одна функция при просмотре в консоли ошибок на ФФ выдаёт, что name is null. Но как эта переменная может быть null если она определина в начале программы? |
Если "в начале программы" name действительно была не null, то либо кто-то переопределил ее, либо это уже другая переменная:
var name = "test"; (function(name){ alert( name ); }(null)); |
Ды вродь ничего не переопредилял
Вот та функция function list(sel, id) { $.ajax({ type: "POST", url: "list.php", data: {select: 'add', id: id}, success: function(html) { $("#res_adm").html(html); start(); name.style.display = 'block'; setTimeout(function() {name.style.display = 'none'; clean()},2000); } }); return false; } |
очень плохая идея называть глобальную переменную именем name.
дело в том, что name - это свойство объекта window, в данном случае, видимо, дело в этом. у меня так однажды было. долго искал косяк. |
А если обозначить как error?
|
обозначь как Document, или dOcument
|
Вот подобный пример, подскажите пожалуйста, где ошибка
<script src="js/jquery.js"></script> <script> var aaaa = document.getElementById('divvv'); function list(sel) { if(sel == 'add') { alert(aaaa.style.display); $.ajax({ type: "POST", url: "/query.php", data: {select: 'add', id_comm: id_comm}, success: function(html) { $("#divvv").html(html); aaaa.style.display = 'block'; setTimeout(function() {aaaa.style.display = 'none'; },2000); } }); return false; } } </script> <html> <head> <title>Панель управления блогом</title> </head> <body> <div id="divvv" style="display:none">!11!11!</div> <a href="javascript:void(0)" onclick="list('add')">Запустить</a> </body> </html> |
обернуть бы все это в
$(function() { ... }) вроде как var aaaa = document.getElementById('divvv'); не должна быть определена так как DOM не загрузился еще |
Цитата:
|
(Sandr), помести скрипт после body.
|
Часовой пояс GMT +3, время: 01:08. |