![]() |
Эффект нажатия на слово в тексте, как сделать?
Всем привет, вот пытаюсь придумать такую штуку с текстом.
Есть предложение, состоящее из нескольких строк. Нужно вывести это предложение на экран. Необходимо сделать чтобы при нажатии мышой на какое то из слов это слово выделилось, к примеру другим цветом и надо получить номер слова в предложении на которое произвелось нажатие в какую либо переменную. Подскажите как тут поступить и какие возможны способы? зы: текст заранее не известен, есть только массив слов или строка слов разделенных пробелом. |
Сделай не текстовое поле а набор movieclip с единственным словом в нем.
рабей строку на массив и последовательно аттач мувики со следующими друг за другом словами, выдернутыми из массива. Создай в прототипе мувика свойство onPress которое бы выводило номер этого мувика и перекрашивало его в нужный цвет.. Вроде так |
Если поле - динамическое, со включенным selectable, то можно проверить на какой позиции стоит курсор (объект Selection, метод getCaretIndex).
Потом написать функцию, определяющую какое слово занимает такую позицию. Выяснив слово и определив его начальный и конечный индексы - применить TextFormat для переформатирования слова. Если selectable = false; - то геморрой обеспечен. Конечно можно выяснить какой высоты-ширины текстовое поле, какая гарнитура, попытатся определить длину каждого слова исходя из букв, его составляющих, но уверяю - это будет мерзкое занятие. Тут действительно проще будет составить текст из муви Клипов, и на них уже вешать код. |
Код:
var txt = 'Всем привет, вот пытаюсь придумать такую штуку с текстом.'; |
KidsKilla всех порвал =)
|
Цитата:
Код:
function arr2html(arr) { |
Как вариант
Код:
my_array = ["Вот", "такое", "вот", "предложение", "получается", "бла-бла-бла"]; |
Цитата:
кстати, в одинарных кавычках двойные экранировать не надо... |
Всё гениальное просто :eek:
Не думал, что можно было все так сделать без гемора на пару дней. Спасибо вам друзья :drinks: KidsKilla, расскажи секрет, почему слова начинают нажиматься как кнопки, и что значит эта строчка: Код:
a[i] = '<a href="asfunction:fun, '+i+'">'+a[i]+'</a>'; |
Вложений: 1
вот еще накалякал, может подойдет?
|
| Часовой пояс GMT +4, время: 00:50. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.