|
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 35
|
||||||
Мой первый скипт20.04.2012, 04:01. Показов 1867. Ответов 7
Метки нет (Все метки)
Прочитал недавно самоучитель небольшой, решил сделать скриптик
0
|
||||||
| 20.04.2012, 04:01 | |
|
Ответы с готовыми решениями:
7
Мой первый jQuery
мой первый сайт |
|
463 / 463 / 23
Регистрация: 17.08.2011
Сообщений: 1,488
|
|
| 20.04.2012, 04:16 | |
|
0
|
|
|
16 / 16 / 7
Регистрация: 30.04.2011
Сообщений: 41
|
||||||
| 20.04.2012, 04:32 | ||||||
|
немного отредактировал, пробуйте
0
|
||||||
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
|||||||||||
| 20.04.2012, 06:25 | |||||||||||
Сообщение было отмечено как решение
Решение
Попробовали
![]() Запомните на всю оставшуюся жизнь две вещи: ПЕРВОЕ Браузер об элементах страницы узнаёт постепенно, шаг за шагом, вслед за прописанными в HTML-коде тегами и скриптами, начиная с самой первой строки. Прочитал браузер первую вашу строку - <html> - и узнал только то, что открывается документ, написанный на языке HTML. Что там в этом документе имеется - браузеру пока неведомо. Есть ли там скрипты и стили, он пока не знает. Какие именно теги будут на вашей странице - он не знает. Обо всём этом браузер будет узнавать последовательно, строка за строкой. Понятно? ВТОРОЕ Метод document.write () - он работает при разных обстоятельствах по-разному. Когда страница только загружается в браузер и формируется, этот метод ДОписывает на страницу то, что написано в его круглых скобках, в дополнение к тому, что уже есть на странице, и к тому, что ещё на ней будет. А вот когда страница уже вся полностью загружена и сформирована, то метод document.write () эту страницу полностью ПЕРЕписывает, оставляя на на странице только то, что у этого метода в круглых скобках. Всё уничтожается, в том числе и сам скрипт, в котором этот метод document.write () прописан. Ещё раз: постарайтесь уловить разницу между ДОписывать и ПЕРЕписывать. В процессе формирования страницы ДОписывается, после загрузки страницы - ПЕРЕписывается вся страница. Отсюда вывод: использование метода document.write () в каких-либо скриптах/функциях, которые вызываются на текущей сформированной странице - это первый признак того, что скрипт писал полный ньюб ("новичок" по-нашему). ----- Запомнили? Теперь разбираем ваш первый скрипт. Читает браузер заголовок (всё что внутри <head>...</head>) вашего документа. Видит там скриптовой блок <script>...</script>. А в этом блоке видит функцию lala (). Пока всё хорошо. Но вот по завершению текста функции браузер видит ваш приказ - document.getElementById('content').inner HTML = lala(9);, который на русский язык переводится так: прописать внутрь тега с id="content" строку символов, которую должна создать функция lala (), которой в качестве аргумента надо заслать цифру 9. И что делает браузер? Правильно, он запускает функцию lala (9), исполняет её, а потом... потом он впадает в ступор. Потому что он должен присвоить какую-то программную строку символов, сгенерированную этой функцией, а функция lala () никакой строки символов не производит. Функция lala (9) чего-то там напечатала где-то в документе, но ничего программного не сгенерировала. Браузер из ступора выходит и решает эту ожидаемую им строку символов заменить своей собственной строкой - словом undefined, что означает "не определена". И собирается прописать эту строку внутрь тега с id="content". И во второй раз впадает в ступор, потому что браузер на данном этапе НИЧЕГО ЕЩЁ НЕ ЗНАЕТ про тег, у которого есть id="content". Тут уже браузер ничего поделать не может, поэтому он генерит сообщение об ошибке, которую помещает в "Консоль ошибок", а именно "object document.getElementById ('content') not found", что переводится как "объект не найден". ----- Как исправить ДВЕ ваши ошибки? 1. Функция lala () должна не печатать что-то и непонятно где на документе, а должна вернуть нужное значение в виде строки символов. Для этого есть оператор return, который так и переводится - "возвращать". А именно:
Например, можно разместить ещё один скриптовой блок <script>...</script> в любом месте ПОСЛЕ закрывающего тега </div> этого самого тега с id="content", и уже в этом блоке отдавать ваш приказ. Либо можно оформить ваш приказ в существующем скриптовом блоке в виде функции, которая будет запускаться только тогда, когда ВСЯ страница загрузится в браузер и абсолютно ВСЕ теги страницы станут браузеру доступны. Это делается так:
7
|
|||||||||||
|
16 / 16 / 7
Регистрация: 30.04.2011
Сообщений: 41
|
|
| 20.04.2012, 17:23 | |
|
спасибо коллега за подробный ответ. оставляю свой очень плохой код чтобы больше так никто не делал
. да я плохо знаю javascript, но все мы учимся
0
|
|
|
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 35
|
||||||
| 23.04.2012, 05:08 [ТС] | ||||||
|
Извините, долго не мог ответить. Спасибо, всё разжевали
В общем вот такой получился
0
|
||||||
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
|
||||||
| 23.04.2012, 06:36 | ||||||
Пошто детей своих - Артёма и Илью - в интернаты круглосуточные отправили? Лиля у вас работает ночным сторожем при спящей кошке? ![]() Если серьёзно, то используйте ещё и getDay () - вряд ли у вас дети по воскресеньям ходят в школу и садик...
0
|
||||||
|
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 35
|
|
| 23.04.2012, 12:33 [ТС] | |
|
Ну, у нас, во Владивостоке всё рано начинается
А разве там время в 24-часовом режиме? У американцев, вроде бы как и у англичан, AM PM. А так это заготовка просто, сделаем ещё.З.Ы. Насчёт кошки- она всё время спит, а если не спит, то жрёт, а если не жрёт то где-то в туалете
0
|
|
| 23.04.2012, 12:33 | |
|
Помогаю со студенческими работами здесь
8
Мой первый видеофильм Мой первый инструмент Мой первый тетрис Мой первый сайт мой первый сайт Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes.
А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения
развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|