Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.09.2010, 03:32
Новичок на форуме
Отправить личное сообщение для Denstell Посмотреть профиль Найти все сообщения от Denstell
 
Регистрация: 30.09.2010
Сообщений: 1

Ребята очень нужна помощь.
Сразу оговорюсь! Я новичок.
Есть такой простенький сценарий на javascript:

var step = 10;
function changePanel ()
{
var panel = document.getElementById("myDiv");
if (panel.style.display == "none")
{
panel.style.display = "";
expandPanel();
}

else
{
panel.originalHeight = panel.clientHeight;
collapsePanel();
}
}

function collapsePanel ()
{
var panel = document.getElementById("myDiv");
var a = document.getElementById("collapse");
if (panel.clientHeight >= step)
{
var panelHeight = panel.clientHeight - step;
panel.style.height = panelHeight;
setTimeout("collapsePanel()", 2);
}
else
{
a.firstChild.nodeValue = "Развернуть";
panel.style.display = "none";
}
}

function expandPanel ()
{
var panel = document.getElementById("myDiv");
var a = document.getElementById("collapse");
if (panel.clientHeight < (panel.originalHeight - step))
{
var panelHeight = panel.clientHeight + step;
panel.style.height = panelHeight + "px";
setTimeout("expandPanel()", 2);
}
else
{
panel.style.height = "auto";
a.firstChild.nodeValue = "Свернуть";
}
}

Это простенькая выезжающая и заежжающая пенэлька.

Так вот у меня вопрос:

Если я в параметрах функции getElementById ставлю не конкретный id DOM элемента HTML а пытаюсь передать параметром через функцию то весь сценарий ведёт себя совершенно по другому. А именно: панель сама не прячется а уменьшается по чуть чуть по клику по кнопочке или ссылке в которой была вызвана общая функция запуска сценария. может кто то что то знает почему всё так?

То есть пытаюсь я сделать вот такой сценарий:

var step = 10;
function changePanel (n)
{
var panel = document.getElementById(n);
if (panel.style.display == "none")
{
panel.style.display = "";
expandPanel(n);
}

else
{
panel.originalHeight = panel.clientHeight;
collapsePanel(n);
}
}

function collapsePanel (n)
{
var panel = document.getElementById(n);
var a = document.getElementById("collapse");
if (panel.clientHeight >= step)
{
var panelHeight = panel.clientHeight - step;
panel.style.height = panelHeight;
setTimeout("collapsePanel()", 2);
}
else
{
a.firstChild.nodeValue = "Развернуть";
panel.style.display = "none";
}
}

function expandPanel (n)
{
var panel = document.getElementById(n);
var a = document.getElementById("collapse");
if (panel.clientHeight < (panel.originalHeight - step))
{
var panelHeight = panel.clientHeight + step;
panel.style.height = panelHeight + "px";
setTimeout("expandPanel()", 2);
}
else
{
panel.style.height = "auto";
a.firstChild.nodeValue = "Свернуть";
}
}

<a href="javascript:changePanel('myDiv')"></a> вот так я передаю id в функцию параметром.

Последний раз редактировалось Denstell, 30.09.2010 в 03:38.
Ответить с цитированием
  #2 (permalink)  
Старый 30.09.2010, 07:15
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

отформатируйте код http://javascript.ru/formatting
Ответить с цитированием
  #3 (permalink)  
Старый 30.09.2010, 09:21
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

Проверьте что передаёте в getElementById
__________________
.
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужна помощь в JavaScript михаил Общие вопросы Javascript 26 30.10.2013 12:07
Нужна помощь, если можно Fox-WNT Общие вопросы Javascript 3 27.07.2010 11:38
Очень нужна помощь с Ext JS dcbal ExtJS 1 09.07.2010 13:15
нужна помощь dominosoko Серверные языки и технологии 4 14.03.2010 02:17
Очень нужна помощь! sdff Общие вопросы Javascript 3 12.10.2009 15:05