PSD
Главный специалист
Offline
Пол:
|
|
« : 22-03-2004 11:19 » |
|
Эксперементирую с великим гипертекстом. Слепил дизайн на таблицах ракидал по периметру графику в центе болшая ячейка хочу делать 2 вещи 1) Выводить туда разный текст , например опираясь то в какой пункт меню кликнет пользователь.
2)Если текст не помещается в ячейке ячейка не должна расширяться ломая таблицу а должен появляться скролбар.
Как это реализовать?
|
|
|
Записан
|
Да да нет нет все остальное от лукавого.
|
|
|
Skubent
Гость
|
|
« Ответ #1 : 22-03-2004 13:53 » |
|
2. Размеры ячейки задать строго параметрами width и height соответственно. 1. а) перерисовывать всю страницу целиком. В зависимости от клика пользователя. б) воспользоваться конструкцией вроде такой: <html> <body> <script> function do1() { pole.innerHTML = 'AAAAAAAAAA'; } function do2() { pole.innerHTML = 'BBBBBBBBBB'; } </script> <span id=pole> Тут будут буквы </span> <input type=button onClick=javascript:do1() value='А'> <input type=button onClick=javascript:do2() value='В'> </body> </html>
в) использовать тег IFRAME.
|
|
« Последнее редактирование: 25-11-2007 14:59 от Алексей1153++ »
|
Записан
|
|
|
|
RXL
|
|
« Ответ #2 : 22-03-2004 20:05 » |
|
Skubent, твой пример может на IE и работает, но на других браузерах не хочет. Лучше будет так: function do1() { document.getElementById("pole").innerHTML="aaaaaa"; } function do2() { document.getElementById("pole").innerHTML="bbbbb"; }
|
|
« Последнее редактирование: 25-11-2007 15:01 от Алексей1153++ »
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
PSD
Главный специалист
Offline
Пол:
|
|
« Ответ #3 : 23-03-2004 06:07 » |
|
В общем понятно но в этом случае я так понимаю не получится делать внешние ссылки на варианты страницы . те если перключение по разделам сайта будет сделано именно так то пользователь всегда будет начинать работу с главной страницы.... Как дать ему возможность запоминать нужню страницу в избраное ? Я так понимаю что в этом случае должны обрабатываться конструкции вида http://shelek.com/forum/viewtopic.htm?t=2797Как это делается?
|
|
|
Записан
|
Да да нет нет все остальное от лукавого.
|
|
|
Skubent
Гость
|
|
« Ответ #4 : 23-03-2004 07:24 » |
|
RXL, да, возможно, но getElementbyXXX пока не внесены в стандарт, то есть под каждый брузер надо писать свою функцию, а это тема отдельного разговора.
PSD, если хочешь добалять страницы в избранное, тогда тебе надо формировать страницы на основании GET запросов с параметрами, то есть вида http://что-то-там/index.html?page=theme1 и так далее, а по анализу сих переменных уже формировать отдаваемую юзеру страницу.
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #5 : 23-03-2004 07:56 » |
|
Skubent, document.getElement* является ф-ией DOM и работает на уже давольно старых браузерах. Включен в IE5 (если верить книгам). DOM, imho, более логичный и наглядный метод работы с DHTML. Немного не согласен с утверждением "под каждый брузер надо писать свою функцию" - это не отдельный, это вечный разговор. Пользователь не должен страдать из-за пристрастий программиста. Всегда должна быть альтернатива, пусть и не такая красочная и функциональная, как браузерозависимый код. :!: Пример тому - параметер ALT тега IMG - если пользователь не может увидить катринку, то хоть понять что на ней изображено он должен. И прошу всех: не используйте document.all - эта конструкция работает только на IE! Горы скриптов, написанные для IE, не работают на других браузерах. Зачастую программисты не затрудняют себя проверками и действуют по принципу "у меня же работает". Любой клиентский web-скрипт следует проверять на различных браузерах и, желательно, не только последних версий. Извиняюсь за офтопик - наболело - устал бороться с кривыми сайтами... --------------->8---------------->8--------------- PSD, эта ссылка идет на 404 not found - ты это имел ввиду? Или ты о GET? Кстати, возвращаясь к теме: скролбар в таблице не появится никогда, а вот в TEXTAREA будет.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Skubent
Гость
|
|
« Ответ #6 : 23-03-2004 10:08 » |
|
RXL, в том-то и дело, что DHTML до сих пор не прописан как общепринятый стандарт. Я прекрасно понимаю твое отношение - сам иногда страдаю , в общем, как я и говорил, использование скритов на страницах требует аккуратности... И отдельного разговора для каждой конструкции. А пример - он пример и есть, не надо от него требовать полнофункциональности
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #7 : 23-03-2004 11:04 » |
|
Skubent, совершенно согласен по части полнуфункциональности, но работоспособность должна быть.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Skubent
Гость
|
|
« Ответ #8 : 23-03-2004 11:57 » |
|
RXL, ну так оно и работает... Ограниченно Кроме того, я в принципе не люблю использовать клиентские скрипты, а в данной задаче, ИМХО, без них можно обойтись.
|
|
|
Записан
|
|
|
|
PSD
Главный специалист
Offline
Пол:
|
|
« Ответ #9 : 23-03-2004 12:36 » |
|
RXL, Да я про GET(теперь я знаю как это называется). Что это такое и как с этим работать? Кстати, возвращаясь к теме: скролбар в таблице не появится никогда, а вот в TEXTAREA будет.
Я вышел из пложения IFRAME. Skubent, RXL, ну так оно и работает... Ограниченно Кроме того, я в принципе не люблю использовать клиентские скрипты, а в данной задаче, ИМХО, без них можно обойтись.
Как можно это сделать по другому? Пример пожалуста.
|
|
|
Записан
|
Да да нет нет все остальное от лукавого.
|
|
|
RXL
|
|
« Ответ #10 : 23-03-2004 13:07 » |
|
PSD, похоже что ты уже разобрался... Вставка IFRAME в ячейку таблицы и при клике на меню вставить туда текст. GET - тип запроса к серверу. Информация от пользователя передается в строке запроса в url-кодированном виде. Что имеется ввиду под "как с ним работать"? Возвращаясь немного назад: В общем понятно но в этом случае я так понимаю не получится делать внешние ссылки на варианты страницы . те если перключение по разделам сайта будет сделано именно так то пользователь всегда будет начинать работу с главной страницы.... Не понятно что-то... Может начать с начала? Попробуй описать задачу.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Skubent
Гость
|
|
« Ответ #11 : 23-03-2004 13:48 » |
|
PSD, каждое действие пользователя обрабатывается серверыми скриптами. То есть см. п.1 моего первого поста в этой ветке.
|
|
|
Записан
|
|
|
|
PSD
Главный специалист
Offline
Пол:
|
|
« Ответ #12 : 24-03-2004 09:49 » |
|
RXL, Не понятно что-то... Может начать с начала? Попробуй описать задачу.
Задача простая я делаю клубный сайт, попутно приобретаю эхпу по веб програмированию. Сотвествено есть некое оформление, картинки, менюшка .... посеред всего этого будет выводится различная информация из разделов... Теперь я дкмаю как это все оживить ... Можно спрятать под пункт меню гиперссылку и перемешаться по каскаду страничек... Можно написать скриптик который будет переписывать соотвествующий SPAN в котором IFRAME и ссылка ... Второй вариант мне больше нравится (я всетаки програмер), но не понятно как тогда организовать произвольный доступ к разделам... Везде в нете используются конструкции вида https://forum.shelek.ru/index.php/topic,2797.0.htmlМеня интересует как обработать ?t=2797 для начало как получить кнему доступ из скрипта и что с нм можно сделать... Использовать серверные скрипты мне пока не очень хочется так как для их работы нужен хостинг а сайт предпологается размещать на холявном...(да и знаний пока не хватает)
|
|
|
Записан
|
Да да нет нет все остальное от лукавого.
|
|
|
Skubent
Гость
|
|
« Ответ #13 : 24-03-2004 10:22 » |
|
Ежели не ошибаюсь, то document.location возвращает строку адреса браузера, а уж с ней делай что хотишь... Но все же такие вещи клиентскими скриптами реализовывать ИМХО не самое правильное решение...
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #14 : 24-03-2004 12:16 » |
|
PSD, вместо вызова страницы по клику, вызывай ф-ию, которой передавай ссылку на ту страницу. Ф-ия должна скачать и вставить в нужное место.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
PSD
Главный специалист
Offline
Пол:
|
|
« Ответ #15 : 24-03-2004 13:05 » |
|
RXL, пример пожалуйста !
|
|
|
Записан
|
Да да нет нет все остальное от лукавого.
|
|
|
Skubent
Гость
|
|
« Ответ #16 : 24-03-2004 13:09 » |
|
RXL, я что-то тоже тебя не понял слегка...
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #17 : 24-03-2004 13:37 » |
|
Поясняю идею еще раз: раз ты не хочешь перегружать страницу целиком и организовать обработку на клиентской стороне, то, кликнув по навигационной ссылке, нужно не посылать запрос на сервер, а вызвать ф-ию скрипта, которая должна вставить код этой страницы в условленное место. Например, внутри некого тега <IFRAME SRC="ссылка на страницу"></IFRAME> поменять ссылку.
Работоспособность не проверял - это только идея.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
RXL
|
|
« Ответ #18 : 24-03-2004 14:45 » |
|
Вот - по тестировал. На мозиле работает. Проверь на IE. Смысл такой: при загрузке в IFRAME-е загружается b0.html, а по нажатию ссылок 1 и 2 туда загружается b1.html или b2.html . <HTML> <HEAD> <TITLE>test</TITLE> </HEAD> <BODY> <SCRIPT> function do_click(str) { document.getElementById('frame').src='b'+str+'.html'; } </SCRIPT> <A HREF="JavaScript:do_click('1')">1</A> <A HREF="JavaScript:do_click('2')">2</A> <BR> <IFRAME SRC="b0.html" ID="frame"></IFRAME> </BODY> </HTML>
|
|
« Последнее редактирование: 25-11-2007 15:05 от Алексей1153++ »
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Skubent
Гость
|
|
« Ответ #19 : 24-03-2004 15:11 » |
|
Работает на ослике. Только, если не ошибаюсь, PSD так и сделал уже Ему нада рассказать, как GET запрос разбирать на клиентской машине, а я не помню, JScript работает с переменными запроса или нет, сам не пользовал никогда .
|
|
|
Записан
|
|
|
|
Skubent
Гость
|
|
« Ответ #20 : 24-03-2004 15:32 » |
|
Ага, вроде как-то так, тока ногами не пинайте за кривизну... <HTML> <HEAD> <TITLE>test</TITLE> </HEAD> <BODY> <BR> <IFRAME ID="frame"></IFRAME> <SCRIPT> mystr = document.URL; tmp = mystr.substring(mystr.indexOf('?') + 1, mystr.lenght); document.getElementById('frame').src = tmp + '.html'; </SCRIPT> </BODY> </HTML>
Скрипт лежит после фрейма, на всякий случай, чтобы src фрейма не забивал параметр... Соответсвенно обращение будет http://всяко-разно/index.html?doc1 http://всяко-разно/index.html?doc2 http://всяко-разно/index.html?doc3 и будет отдавать doc1.html и т.д...
|
|
« Последнее редактирование: 25-11-2007 15:08 от Алексей1153++ »
|
Записан
|
|
|
|
PSD
Главный специалист
Offline
Пол:
|
|
« Ответ #21 : 25-03-2004 06:24 » |
|
Большое спасибо ))) то что надо
|
|
|
Записан
|
Да да нет нет все остальное от лукавого.
|
|
|
|