Использование одной переменной в нескольких функциях
Есть одна переменная обозначенная в самом начале файла скрипта
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, время: 22:22. |