Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Оформленное сообщение (https://javascript.ru/forum/dom-window/10521-oformlennoe-soobshhenie.html)

Hagrael 08.07.2010 05:55

Оформленное сообщение
 
Я сейчас делаю красиво оформленное сообщение(чтобы появлялось, к примеру, после нажатия на кнопку). Но я столкнулся со следующей проблемой:
Я пишу:
message.style.position='absolute'
message.style.top=scroll+200+'px'
А сообщение как было наверху, так и остаётся, даже не сползает. Ставил +1000 +'px', всё равно не сползает и на шаг. А вот от левого края сползает спокойно. Если убираю scroll, то всё работает, ставлю - нет (страница у меня без бегунка даже, настолько маленькая, но я хочу понять, в чём дело). Пробовал на Google Chrome, Mozila FireFox, Opera, нигде не работает( В чём моя ошибка?
Заранее благодарю за помощь.

exec 08.07.2010 07:08

Проверьте переменную scroll: её тип (если string, то вместо сложения выплнится конкатенация) и значение.

Hagrael 08.07.2010 07:09

А как проверить? И как сделать её числовой? settype() ? )))
Или ParseInt?

Hagrael 08.07.2010 07:19

У меня возник ещё один вопрос: как сделать имя свойства значением переменной? Тоесть вот у меня переменная svoystvo и переменная znachenie. У неё значение 'src'. Значит, мне надо изменить свойство src у какого-то объекта. Я пишу object.svoystvo=znachenie. Но эта функция добавляет свойство объекта svoystvo и устанавливает ему значение znachenie. А мне надо, чтобы эта функция присваивала значение znachenie свойству, которое находится в значении переменной svoystvo (в данном случае "src"). Чтобы если значение переменной svoystvo бфло 'align', то znachenie присваивалось ему. Как это сделать?

pandasensey 08.07.2010 12:05

Ответ на второй вопрос:
object[svoystvo]=znachenie


Ответ на первый вопрос. message.style.top принимает в любом случае строковое значение, так как ты добавляешь там +'px'. Но вот с переменной scroll - вопросы. Для начала, попробуйте просто вывести ее значение до выполнения команды. Там может быть и undefined и NaN. Если такого нет, то скорее всего, нужно воспользоваться parseInt(scroll). А еще лучше вывести куда-нить значение всей операции:
alert(scroll+200+'px')

Hagrael 08.07.2010 12:18

pandasensey,
спасибо, я попытаюсь!

Hagrael 08.07.2010 12:24

pandasensey,
у меня вышло "function scroll() {[native code]}", а там где я добавлял "200+'px' ", было: "function scroll() {[native code]}200px"
Попробую отпарсить.

Hagrael 08.07.2010 12:34

А как присвоить свойство объекту, заключённому в строковую переменную?


Часовой пояс GMT +3, время: 06:51.