Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> А-ля многоколончатый тест, подобие -moz-column-count, но для IE 
:(
    Опции темы
SelenIT
Дата 30.9.2007, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



AKS, огромное спасибо за совет! До двух диапазонов я как-то не додумался, а ведь и вправду насколько с ними проще... теоретически так, наверное, можно будет вообще реализовать всю логику разбивки в одной колонке и лишь затем разносить текст физически.

А все-таки, не  что за очевидность упорно ускользает от меня в вышеприведенных циклах? Я был бы очень благодарен за подсказку...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
cruelangel
Дата 30.9.2007, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 12.9.2007

Репутация: 4
Всего: 8



потести это дело на русском тексте...
PM MAIL   Вверх
SelenIT
Дата 30.9.2007, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



cruelangel, спасибо! Как я мог забыть, что \w в яваскриптовых регах не ловит русские буквы... Кстати, неужели регулярки - единственный способ посчитать слова в тексте?

Залил обновленную версию. Попутно наткнулся на еще две неприятности: а) при смене размера шрифта с "самого мелкого" на "мелкий" не происходит onresize, и контейнер не раздвигается (неужели придется отказаться от верного position:absolute в пользу ненадежного float?), а во-вторых, все принятные защитные меры не спасают от "неопределенной ошибки" в 102-й строке, если диапазон невзначай перескочит через границу колонки (правда, инициировать такую ситуацию мне удалось лишь искусственно, подставив очень большое начальное значение step в цикл поиска - но все же...). Буду благодарен за свежие мысли, как это разрулить...



--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
cruelangel
Дата 30.9.2007, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 12.9.2007

Репутация: 4
Всего: 8



table использовать некошерно?
PM MAIL   Вверх
SelenIT
Дата 30.9.2007, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



Скорее ненадежно - насколько я помню, в Quirks mode оно не наследует стили контейнера. И межколоночными интервалами там рулить труднее. Но за вариант спасибо! Действительно, что-то я на дивах зациклился... smile


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
cruelangel
Дата 30.9.2007, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 319
Регистрация: 12.9.2007

Репутация: 4
Всего: 8



а зачем тебе кривой-мод? 
PM MAIL   Вверх
SelenIT
Дата 30.9.2007, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



Я хочу, чтоб скрипт от мода вообще не зависел. Поэтому стараюсь обходить скользкие углы...

...кстати, забавно, но в Quirks mode как раз нет проблемы при смене шрифта smile

Это сообщение отредактировал(а) SelenIT - 30.9.2007, 20:58


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
AKS
Дата 1.10.2007, 08:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Участник форума
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 20.9.2006

Репутация: 27
Всего: 52



SelenIT, я еще кое-чего придумал (извиняюсь, что не далаю сам, а только предлагаю).
Вы "двигаете" начало диапазона, а может быть лучше наоборот? 
1. Создать скрытый блок (dummy, так сказать) той ширины, которая должна быть у каждой колонки. 
2. Разместить в нем весь innerHTML.
3. И "забирать" из него текстовые фрагменты по очереди. Т.е. если нужно три колонки, то "прыгаем" сразу на 1/3 и забираем весь остаток. Первую треть "убираем" в первую колонку. Затем уже делим пополам...
Если такое и можно как-то реализовать, что как-нибудь так:
Код

document.onclick = function () {
    var e = this.getElementById('test');
    var r = this.body.createTextRange();
    r.moveToPoint(e.offsetLeft + e.offsetWidth, 
                            e.offsetParent.offsetTop + e.offsetHeight / 3);
    r.expand('word');
    r.moveEnd('textedit', 1);
    alert(r.text);
};

Этот код я вставил в вашу вчерашнюю страничку. Это - черновик. Метод moveEnd с параметром textedit не подходит на самом деле. Нужно расширить диапазон не далее пределов элемента test. С координатами для moveToPoint нужно определиться точнее, хотя можно решить эту проблему, если dummy расположить в top:0/left:0...
PM MAIL   Вверх
SelenIT
Дата 1.10.2007, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



AKS, ух ты, и как это я moveToPoint пропустил... +1!


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0526 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.