Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Этюды  (Прочитано 27032 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« : 24-11-2005 19:46 » 

В процессе эксперементов (я их обозвал этюдами) сделал вот такой файлик. Серьезно прошу его не воспринимать - код чисто тестовый. Если кому не лень, проверте на своем браузере. На моих (Mozilla 1.7.12 и IE 6.0.2900.2180...) работает, но на каждом есть дефекты.

* test_e38j.html (10.74 Кб - загружено 1155 раз.)
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #1 : 24-11-2005 20:29 » 

Проверил на IE и на FireFox.
На IE в момент наведения на пункт меню как и на FireFox бэкграунд пункта меню меняется на светло-серый
На IE в момент клика как и на FireFox бэкграунд пункта меню меняется на белый
На IE как и на FireFox окна появляетя и двигаются мышкой нормально
Разница :
Размеры окон немного отличаются
На IE, после клика на пунт меню, бэкграунд остаётся белым, на FireFox, нет.
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #2 : 24-11-2005 20:33 » 

RXL, а чего это тебя так ЖабаСкрипт зацепил ? Я стараюь его вообще не использовать Улыбаюсь
А сейчас вообще на веб не программирую ничего кроме вэб сервисов на .НЕТ, да и на Си Шарп подсел плотно Улыбаюсь Забыл уже практически даже свой любимый ПХП Улыбаюсь Всё только Window Forms последнее время, да XML с DataSet'ами да DataGridView'вами  Жаль
« Последнее редактирование: 18-12-2007 21:44 от Алексей1153++ » Записан

MCP, MCAD, MCTS:Win, MCTS:Web
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 25-11-2005 08:00 » 

Спасибо. Эта менюшка - не конечный результат, но все же странно: у меня в IE6 после клика фон не белый...

Разбираюсь по маленьку. Увлекся идеей web-приложений: насрать на ОС пользователя, никаких инсталяций, центролизованное сопровождение кода и т.п. Но сам HTML нефига не может по части автоматизации и скуден в визуализации, и главный кондидат для этого - js. JavaScript есть в каждом современном графическом браузере и будет есть дальше. Кроме того, я надеюсь, со временем браузеры начнут работать по стандартам, а не как сейчас. Если бы не давние бодания MS и Sun, то сейчас в web была бы актуалнее Java.
Ксатати, по моим наблюдениям, в сети не густо со спецами по js: зачастую код либо очень простой, либо однобокий и кривой. Конечно встречаются и шедевры.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 25-11-2005 11:25 » 

Продолжаю свои этюды: сортировка строк в таблице. Может кому понадобится.
Для упрощения задачи я объединил сортируемые строки в группу тегом tbody.
Код соотв. XHTML1.0 и DOM2.

* test_sorttable.html (0.71 Кб - загружено 1039 раз.)
* sorttable.js (0.85 Кб - загружено 1034 раз.)
« Последнее редактирование: 25-11-2005 11:33 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Falsehood
Молодой специалист

ru
Offline Offline
Пол: Женский
не может быть


« Ответ #5 : 13-06-2006 10:58 » 

прошу прощения, что поднимаю старую тему.. может она и не интересует уже никого.. но очень хочется высказаться, что не покатит такая сортировка. если заменить последнее значение в столбце N на 14, то при сортировке этого столбца 14 будет становиться перед 2
Записан

Славная трава...
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #6 : 13-06-2006 14:50 » 

Falsehood, конечно. Это только тестик, накиданный на скорую руку.

Почему же никого не интересует - тебя же заинтересовала Улыбаюсь
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Falsehood
Молодой специалист

ru
Offline Offline
Пол: Женский
не может быть


« Ответ #7 : 14-06-2006 07:28 » 

это точно Улыбаюсь
пришлось тут задуматься над этой проблемой.. увдела твою аннотацию и губу раскатала, что сейчас сделаю ctrl+с ctrl+v и всё будет замечательно Улыбаюсь
Записан

Славная трава...
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 14-06-2006 07:56 » 

Наташ, код, в общем то, рабочий. Если нужно изменить сортировку, то перепиши вот эту строчку:
rows.sort(function (a,b) { return (a.key < b.key) ? -1 : ((a.key > b.key) ? 1 : 0); });

Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Falsehood
Молодой специалист

ru
Offline Offline
Пол: Женский
не может быть


« Ответ #9 : 14-06-2006 09:24 » 

Ром, проблема в том, что зарание неизвестно, какого типа данные будут в столбце, поэтому непонятно, каким именно компаратором их сравнивать.. не вводить же в заголовок столбца скрытое поле с типом данных... некрасиво это как-то...
Записан

Славная трава...
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #10 : 14-06-2006 11:20 » 

Простой выход: добавить еще один параметер в ф-ию. Ведь создавая таблицу ты быстрее всего знаешь формат данных.
Или в сравнении ввести более сложную логику: если оба ключа состоят только из цифр, то сравнивать их как числа.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Falsehood
Молодой специалист

ru
Offline Offline
Пол: Женский
не может быть


« Ответ #11 : 15-06-2006 09:49 » 

идея хорошая.
только в моей таблице могут быть и ссылки в ячейках, поэтому надо будет прилично скрипт переделать под нее..
потом попробую. спасибо
Записан

Славная трава...
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #12 : 15-06-2006 15:12 » 

С ссылками и прочими сложными объектами, думаю, следует поступить так: заменить строку
rows.push( { key: o.childNodes[column_n].innerHTML, ref: o } );
на
rows.push( {
   key: o.childNodes[column_n].innerHTML.replace(/<\/?\w+[^>]*\/?>/g, ''),
   ref: o
   } );

Сравнение будет происходить по тексту, без учета тегов.
« Последнее редактирование: 18-12-2007 21:46 от Алексей1153++ » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Dead Krolik
Участник

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #13 : 15-06-2006 17:02 » 

RXL я гляжу ты в js шаришь. А можешь предложить красивое решение, когда каждую строку таблицы можно перемещать вверх/вниз и удалять. Естественно с поддержкой со стороны сервера. Мои мысли сводятся к введению еще одного столбика в котором и перемещать. Но вот как организовать ситуацию проверки возможности удаления строки и подтверждения этой возможности серверными скриптами и разрешения ее удаления, это вопрос.
Ведь код смены позиций строк можно написать, но нужно сделать это через ajax, что бы сервер мог проверить возможность удаления и вообще узнать об этом. в общем нужны идеи, ибо тот ajax который я использую умеет только заменять ответом сервера заданный div или значение value у полей ввода, другой пока использовать не хочу.
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #14 : 15-06-2006 17:47 » 

Не так хорошо, как хотелось бы - практики мало.

AJAX возвращает только XML - встроить этот код в HTML-дерево довольно гимморно.  Разве что вкладывать готовый html-фрагмент в CDATA и вставлять его потом в innerHTML.

Вернусь к вопросу.

Не понял насчет "еще одного столбика в котором и перемещать". Уточни, да бы не гадать.

Подтверждение на сервере сделать не сложно. Как обычно, ты посылаешь запрос, а получаешь xml-ответ. К примеру, для данного случая:
<reply><result>0</result></reply>
Получение кода:
code = doc.getElementsByName('result')[0].firstChild.nodeValue;
По этому коду и определить, допустима ли операция.
Проверку можно производить в момент указания желаемой строки для перемещения (или удаления) или в момент указания позиции, куда нужно перенести.
« Последнее редактирование: 18-12-2007 21:47 от Алексей1153++ » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Dead Krolik
Участник

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #15 : 16-06-2006 13:18 » 

насчет допустимости я уже передумал, проще не выдавать кнопочку если действие запрещено
ajax по-моему совсем не обязательно xml, что хочу то и отправляю с сервера
столбик - это просто столбик где будут элементы навигации, т.е. перемещения и удаления строчек (помимо столбиков с данными)

Я больше размышляю сейчас. Как мне например уведомлять сервер о смене порядка строк. Видимо передавать id того, что она собой олицетворяет и направление в ajax-запросе. По сути удаление можно выдрать из твоего кода. в общем получается, что пока вопросов нет Улыбаюсь
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #16 : 16-06-2006 13:30 » 

Dead Krolik, AJAX = Asynchronous JavaScript And Xml. Возвращаемый документ - только xml.

Улыбаюсь Будут вопросы - пиши.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Dead Krolik
Участник

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #17 : 16-06-2006 13:51 » new

Использую sack, в жизни не формировал хмл на выходе скрипта, делал echo а оно "само" подставлялось куда надо. Так шта ...

P.S.Правда сайт чего-то тупит, 404 всякие выдает. Раньше вроде работал.
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #18 : 16-06-2006 15:11 » 

Хоть код остался и то хорошо.Без лицензий, документации и примеров в данном случае прожить можно Улыбаюсь

Хм. Моя ошибка - запамятовал: может вернуть исходный текст. Если ответ сервера не содержит XML, то можно получить его в чистом виде, а если содержит, то еще и пропарсеный.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Dead Krolik
Участник

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #19 : 16-06-2006 15:19 » 

А работа с ним простая:

var ajax = new sack();
ajax.setVar('имя', 'значение');
ajax.requestFile = 'путь к скрипту обработчику';
ajax.method = 'POST';
ajax.element = замещаемый_элемент_его_id;//или div или input type=text, в исходном коде все можно увидеть
ajax.onLoading = функция_вызываемая_по_окончанию_загрузки;
ajax.runAJAX();

~~~

нашел мега руководство как с ним работать, даже в доках не описано было многое
« Последнее редактирование: 18-12-2007 21:49 от Алексей1153++ » Записан
Falsehood
Молодой специалист

ru
Offline Offline
Пол: Женский
не может быть


« Ответ #20 : 19-06-2006 07:28 » 

Ром, не придется мне с этой сортировкой разбираться: руководитель не любит, когда в приложении много javascript. говорит, что сопровождать потом тяжело... так что останется сортировка такая, как есть.. на сервере...
Записан

Славная трава...
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #21 : 19-06-2006 07:35 » 

Не спорю, js - не С++. Web-программирование вообще не совсем подстрижено и покрашено. Улыбаюсь
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #22 : 19-06-2006 08:20 » 

Ром, не придется мне с этой сортировкой разбираться: руководитель не любит, когда в приложении много javascript. говорит, что сопровождать потом тяжело... так что останется сортировка такая, как есть.. на сервере...
Не аргументировано... (не любит...) А ты ему ромашку подари.
Наличие javascript нагружает клиента (сильно ли), грузит трафик (сильно ли).
Сопровождение? А какая разница где писать сортировку? На сервере или клиентском приложении, тем более что функция сортировки пересылается клиенту?
Вот такое мое скромное мнение Улыбаюсь
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #23 : 19-06-2006 09:03 » 

Sla, многое зависит от организованности работы, нагрузки, сроков. Иными словами, если часто бывает запарка, то заниматься малознакомыми вещами не стоит. Хотя, в данном случае, я вижу лишь одну возможную проблему: приведенный скрипт сортирует лишь то, что есть на странице. В остальном, сортировка у клиента лучше - это быстрее и не вызывает полное перестроение страницы с перемещением к началу.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Falsehood
Молодой специалист

ru
Offline Offline
Пол: Женский
не может быть


« Ответ #24 : 19-06-2006 10:37 » 

я тут работаю недавно, а у местного народа есть опыт сопровождения крупных проектов, сделанных с непомерным использованием js. судя по всему, неприятный опыт.. отсюда и отторжение.
Записан

Славная трава...
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines