![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 1 Всего: 73 |
САБЖ. Интересно стало, возможно ли подобное реализовать, чтобы при захвате границы ячейка ее размеры можно было растянуть? Может кто-то уже реализовывал подобное?
Присоединённый файл ( Кол-во скачиваний: 10 )
tbl1.jpg-------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| trix |
|
|||
![]() Observer Grabus ![]() ![]() Профиль Группа: Участник Сообщений: 534 Регистрация: 30.1.2003 Где: Odessa Репутация: нет Всего: 12 |
теоретически возможно, и по-мойму даже не очень трудно, но я не пробовал.
-------------------- Тупое, бездушное SMS никогда, слышите вы? никогда не заменит живое общение по ICQ! |
|||
|
||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 8 Всего: 71 |
Где то видел скрипт, которым можно таблицы строить, ну и ячейки развигать. Могу еще раз поискать, если надо.
|
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Можно, по идее отлавливая onmouse(move|down|up) на таблице, но учитывая геморойность оных(резолюция mousemove низкая, через раз), придётся отлавливать события и на документе.
Мне это же нужно сделать для окошка в меню для нашего FAQ'а, код простой, выложу попозже сюда. Я применил другой подход, двигаем только рамку, как отпустили кнопку, окошко приняло новые размеры. Так браузер не нагружается при сложной разметке(меню). -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
А как узнать что мышка находиться в области рамки (над рамкой)?
|
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Reptor открывай отдельный топик
Ничего узнавать не надо, регистрируем событие у рамки, как только мыша появляется над рамкой, событие зажигается. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 1 Всего: 73 |
Да, пожалуйста, если не трудно, покажите пару примеров.
-------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| Reptor |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1213 Регистрация: 29.12.2004 Репутация: нет Всего: 0 |
Ещё один вопрос: а что это за событие?
|
|||
|
||||
| Aliance |
|
||||||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
onmouseover ( подробнее тут )
Чего именно? Полностью скрипта или только события? |
||||||
|
|||||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 1 Всего: 73 |
Aliance, алгоритма действий, пожалуйста.
-------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
IZ@TOP
Вот тебе и алгоритм и надежда на скрипт 8)) Скрипт довольно большой, не думаю что я его напишу быстрее чем Sardar. Хотя можно попробовать :-) Только наводящий вопрос: это обязательно делать только таблицей, или можно контейнерами (вид будет такой же...) |
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 1 Всего: 73 |
Ну это понятно. Ладно, сознаюсь, хочу пример
-------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 1 Всего: 73 |
Я вроде нечал понимать что к чему. Но вот столкнулся с проблемой: как узнать ширину srcElement если она явно не задана?
И какое событие мне нужно использовать чтобы поймать перетаскивание ячейки? Другими словами - когда мышкой хватаем край ячейка и тащим. Нашел вроде:
Нет, это похоже не то. Мне надо наверное сначало onmousedown поймать, потом действовать по onmousemove, после чего отслеживать onmouseup? -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 1 Всего: 73 |
Все, с перетаскиванием разобрался. Теперь нужно только получить текущую ширину объекта.
Добавлено @ 10:31 Да, еще бы кто подсказал как при определенном событии изменить курсор? Добавлено @ 10:32 Вот кстате, работает. Только не совсем так как надо:
Я вот думаю, как бы мне сделать так, чтобы ячейка получила свойство перетаскиваемого объекта? А то когда мышку передвигаешь, курсор начинает мигать, время от времени превращаясь в песочные часы. -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| Aliance |
|
||||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
IZ@TOP
Видимо ты используешь onmousemove, а как сказал Sardar - лучше onmouseup|down, меньше глюков и тормозов будет.
Изменяя св-во CSS:
|
||||
|
|||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 1 Всего: 73 |
Aliance, так я при помощи всего вместе делаю. Просто надо алгаритм продумать как следует. А в остальном вроде почти то что я хотел.
Кстате, как изменить свойства ячейки, чтобы при зажатии мыши и ее передвижении не выделялся текст в ней? Еще с курсором. Если ты нзаметил, в коде есть такая строка:
Но она не работает... как быть? Добавлено @ 13:53 И да, как узнать точную ширину ячейки если width не задан? -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Лучше всего ее задавать. А вообще подобные темы поднимались, есть решения (ClientHeight, OffsetHeight...) но мы остановились на том, что лучшее - scrollHeight. |
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 1 Всего: 73 |
Да, по поводу курсора. даже если так назначить в стилях что он e_resize, все равно он превратится в обычный и будет мигать часиками песочными. Как это можно исправить?
PS Новая версия скрипта:
-------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 1 Всего: 73 |
Кстате, не очень катит. Я хочу чтобы при увеличении ширины ячеек, раздвигалась и таблица. И при уменьшении таблица соответственно уменьшалась. А она уперается в край div'a и не хочет дальше автоматом увеличиваться Добавлено @ 14:47 Кстате, scrollHeight подошел бы, но он показывает иногда значение меньше настоящей ширины ячейки -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| Aliance |
|
||||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Видимо он автоматом при событии заменяется. Нужно при отлове этого события его менять, а не в целом, думаю.
Может стоит "поиграть" со св-вами clip и overflow |
||||
|
|||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 1 Всего: 73 |
Aliance, overflow вроде выставлен. А зачем нужен clip?
Как это сделать? -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Признаюсь чесно небыло времени твой скрипт изучить, пишу то, что думаю, не знаю, может у тебя так же:
- как мне кажется, ты сделал замену курсора просто в скрипте, надо же именно в функции, которая вызывается при твоем событии (onmousemove?). Эм... el_resize() - вроде она :-) |
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 1 Всего: 73 |
Aliance, да я как только не делал. Не хочет курсор e_resize типа делаться. А вот help, hand пожалуйста...
-------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| Aliance |
|
||||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Может натолкнет на мыслю: http://forum.vingrad.ru/index.php?showtopi...=0entry351933
А, ну сразу бы сказал. Где-то у меня был файлик с примером обращения к курсорам, т.е. их типы. Может просто такого нет... Гляну - позже напишу. |
||||
|
|||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
IZ@TOP звыняюсь что поздно, со вмеменем был нуль...
Вот универсальный код, позволяющий ресайзить несколько таблиц на странице. Просто задаём ряд с которым нужно работать, обычно это первый. В примере для яности сделал два. В коментах немного не нормативной лексики, уж Опера слишком достала...
Код закоментирован. Первая секция это поддержка W3C модели событий для ИЕ. Отлов нажатий и т.п. происхоидит на ячейках, а отлов onmousemove на ряду, этим мы сбережём нервы на событиях Оперы и вообще на медленных машинах. Отжатие(onmouseup) ловится тоже на ряду, хотя еще нужно и на всей таблице. Другими словами начни ресайз, затем тяни мышь к низу за ряд таблицы и там отпусти, затем вернись назад на ряд - ряд за тобой бегает, хотя кнопка отпущенна Что не ясно - спрашивай. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Sardar, молодец. Замечательно получилось. Очень.
IZ@TOP, вот демо кода Sardarа: http://www.sut.net.ru/scripts/javascript/s...zabletable.html Это сообщение отредактировал(а) Aliance - 24.4.2005, 19:24 |
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 1 Всего: 73 |
Sardar, еще такая штука меня интересует - надо чтобы при увкелечении таблицы, ее ячеек, отображался скролл у дива. т.е. таблица расширялась и при этом уходила внутрь дива. С штукой как отпускание клавишы мыщи за границами строки я разобрался. Твой пример изучу чуть позже. Однако есть еще пожелание, чтобы при ресайзе всеже курсор был выставлен в e_resize. Под оперу можно не оптимизировать. Все равно будут с этим работать на ИЕ и только.
+ вам что хорошо что хватать можно только рядом с границей таблицы. это есть гуд. Но надо еще усовершенствовать этот механизм - если это возможно. Если невозможно, так и скажите, чтобы я не мучился. Еще прикол в том что каждый раз при наведении на ряд пытается подгрузится картинка PS Комменты классные Такс, думаю еще вопросы у меня будут. Кстате, тема как мне кажется заслуживает того чтобы отправится в FAQ. В ней очень много того чтобы пригодилось в жизненных ситуациях. Мне так кажется - поправтье если я ошибаюсь. -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| Aliance |
|
||||||||||||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Задаем опр. размера ширину и высоту, ставим у div`а в style - overflow: auto;
Это у тебя работает? Должно... Можно просто в CSS стилях прописать...
Не понял :-)
Какая картинка? Не понял :-D
Ну мне так не кажется, впервые вижу такую нужду. Скрипт канечно очень хороший, но не значит что он должен быть в FAQе, это мое имхо. |
||||||||||||
|
|||||||||||||
| Sardar |
|
||||||||||||||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Aliance пасиб, просто были свободные 40 минут
Я так понял ты хочешь безгранично увеличивать таблицу, так что бы она вращалась в диве со скролами. Собстна геморой в том, что mousemove придётся отлавливать и на странице, может лучше отказатся от этого слоя, пусть юзер крутит таблицу в окне.
Нужно сбросить флаг moving у ряда таблицы. Это не сложно, пробежавшись очисткой по всем рядам. Записывать текущий ряд в отдельную переменную нельзя(из-за возможной ошибки), мой код работает с неограниченным количеством таблиц, в них неограниченное количество рядов, которые изменяют размеры страницы. Это большое отличие от твоего кода
А оно так и есть или у тебя не меняется курсор в моём примере? Что за браузер?
Верное решение забить на Оперу, сбережёшь кучу нервов
Как усовершенствовать?
Какой-то глюк, в коде картинки не используются, ну разве что в стилях картинка в бекграунде стоит, я их из твоего примера взял.
Не стоит, трудно что найти. ФАК должен быть кратким и доступным для поиска. А вот инфу достать и по полочкам разложить стоит, как будет время -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||||||||||||||
|
|||||||||||||||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 1 Всего: 73 |
Aliance, еслибы ты заглянул в код, то увидел, там все именно так стоит (это я про курсор и скролл в диве).
Sardar, А курсор превращается при движении мыши в обычный с мельканиями песочных часиков Ладно, в остальном сам попробую разобраться. Ну на счет фака, имел ввиду что в общем может такой код пригодится. Т.е. наверняка при некоторых обстаятельствах может понадобиться код перетаскивания зажатого мышкой объекта. -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| Aliance |
|
||||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
Глядел в код...
У меня тоже, но все нормально. Хотя у меня Service Pack стоит...
Drag'n'drop? Ну да, об этом уже говорили. Нужно. Дойдут руки - напишем :-) |
||||
|
|||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |