Просмотр полной версии : XML, CSS и переформатирование на onRollOver
Что такое хорошо?
20.07.2010, 01:51
Как, используя CSS-форматирование, переформатировать текст на onRollOver?
С однотонным текстом всё получается, а как быть в случае, когда строки должны быть разного цвета?
Сейчас ХМЛ-нода выглядит так:
<title><![CDATA[<p class='txt_blk'>ВИДЕОРОЛИК С НАЗВАНИЕМ<br>и еще немного информации</p>]]></title>
А необходимый результат на onRollOver мог бы выглядеть так:
<title><![CDATA[<p class='txt_ylw'>ВИДЕОРОЛИК С НАЗВАНИЕМ<br><p class='txt_wh'>и еще немного информации</p>]]></title>
http://s001.***********/i196/1007/7b/9eafc5623f18.png
(на рисунке нижний item в состоянии onRollOver)
rainbowrussia
20.07.2010, 03:52
<font color="#FFFF00">Text</font><br><font color="#00FF00">Text</font>
?
Что такое хорошо?
20.07.2010, 10:32
у меня, по сути, так и сделано (см. выше)
не получается придумать как записать 2 форматирования для одного и того же текста и менять их на роллОвер
В случае, когда текст на роллОвер нужен однотонный, я делаю так:
- обычное состояние текста форматируется из ЦСС (как в примере выше)
- онРоллОвер форматирую в мувике
mc.onRollOver = function() {
this.txtpole.htmlText = "<p class='ylw'>"+String(_t._parent.id)+"</p>";
};
А как в этом случае?
Нужна подсказка.
rainbowrussia
20.07.2010, 13:57
у меня, по сути, так и сделано (см. выше)
Попробуйте именно так, с <font>, у меня другие варианты всегда вызывали непонятки и проблемы.
Что такое хорошо?
20.07.2010, 14:04
как это записать? В том смысле, что 1 текст и 2 разных состояния для него.
знаешь ка чего ты сделай...
Ты в XML в CDATA отдавай только сам текст,
а два разных правила форматирования вынеси в отдельные ноды или аттрибуты.
Вероятно форматирование не работает, потому что ты флеш путаешь пачкой стилей, и он решает пользоваться внутренним стилем.
<title color="#000000" overcolor="#FFFFFF" >Kavabalga</title>
rainbowrussia
21.07.2010, 00:18
как это записать? В том смысле, что 1 текст и 2 разных состояния для него.
Примерно так:
var text1 = "text1";
var text2 = "text2";
txt.html = true;
mc._alpha = 0;
mc.onRollOver = function () {
txt.htmlText = '<font color="#FF0000">' + text1 + '</font><br><font color="#FFFF00">' + text2 + '</font>';
}
mc.onRollOut = function () {
txt.htmlText = '<font color="#0000FF">' + text1 + '<br>' + text2 + '</font>';
}
mc.onRollOut();
где txt - динамик текст поле, mc - прямоугольник _над_ текстом для ловли ролловера, ну или иначе ловите, как у вас сейчас.
В xml давать CDATA ? А нафига! Есть все для людей. А именно сторонние CSS файлы.
из хелпа :
import TextField.StyleSheet;
var my_styleSheet:StyleSheet = new StyleSheet();
my_styleSheet.onLoad = function(success:Boolean) {
if (success) {
trace("Styles loaded:");
var styles_array:Array = my_styleSheet.getStyleNames();
trace(styles_array.join(newline));
} else {
trace("Error loading CSS");
}
};
my_styleSheet.load("styles.css");
Ну а дальше че нить в виде
TextField.prototype.setFormat = function(tf) { tf.embedfonts = true; ..... }
Что такое хорошо?
21.07.2010, 16:01
я с CSS и делаю + По теме разобрался.
Спасибо всем БОЛЬШОЕ
xml
<title color="black" activecolor="ylw">ВИДЕОРОЛИК С НАЗВАНИЕМ</title>
<brief color="black" activecolor="white">Государственный Эрмитаж</brief>
as
textpole.htmlText = "<p class='"+xf.childNodes[this.id].childNodes[0].attributes.activecolor+"'>"+xf.childNodes[this.id].childNodes[0].firstChild.nodeValue+"<br><p class='"+xf.childNodes[this.id].childNodes[1].attributes.activecolor+"'>"+xf.childNodes[this.id].childNodes[1].firstChild.nodeValue+"</p>";
Вы не понимаете видимо , что у нас совершенно разные скрипты и работают они подругому и отличие их так же.... делайте ламерски, вопросв нет
Что такое хорошо?
21.07.2010, 16:09
Вы не понимаете видимо , что у нас совершенно разные скрипты и работают они подругому и отличие их так же.... делайте ламерски, вопросв нет
:eek: Вроде делаю так же как Вы. Ну, может просто не скопировал код загрузчика CSS из хелпа. Готов учиться.
Что не так?
Ну вопервых XML нужен тока для вывода текста, формат делается уже во флеше. Ты загружаешь сторонний файл с классами CSS . Подключаешь этот CSS для всех файлодв во флеше ( не бойся меняться будет тока те поля которым добавили сет-стайл). И дальше через цикл выводим xml вида :
<node a="text_yellow" b="text_red" and so on />
<node a="text_yellow" x="text_green" and so on />
<node a="text_yellow" o="text_orange" and so on />
for example
потос для текст полей подключаем сет стайл типа :
if (xml.(...path...).attributes.a[i] != undefined) { setFormat(_root["some_filed"+i],style[i])}
Добавлено через 1 минуту
Там конечно кое какое несоответсвие того, что я написал. Но это не важно, если будете разбираться с этим то поймете о чем я
Что такое хорошо?
21.07.2010, 16:26
всё так и делаю (см. выше XML без СДАТА)
а setFormat-ом напрямую не пользуюсь, так как использую библиотеку шрифтов.
var _thext:TextField;
_thext.html = _thext.embedFonts = true;
_thext.styleSheet = styleObj;
_thext.htmlText = "<p class='"+wh+"'>................
аааааааааа ........вы издеваетесь )))
_thext.html = _thext.embedFonts = true; это че ?))) какой еще html ?)))
ну а по теме :
_thext.htmlText = "<p class='"+wh+"'>
Мой метод был :
_thext[i].htmlText = someStyle;
А вы прописываете все вручную. вот в чем разница
Что такое хорошо?
21.07.2010, 17:17
...это че ?))) какой еще html ?)))
)) осталось из версии с СДАТА (тупо копи-пэйст)
_thext[i].htmlText = someStyle;
так у меня _thext уже укатанна циклом. И wh тоже.
А вот над someStyle надо думать ))
Мужчины, остановитесь!
Вы говорите об одном и том же.
in4core, _thext.html = _thext.embedFonts = true; говорит всего лишь о том, что текстовые поля динамические, им в этой строчке предписывается рендериться как хтмл и использовать внедренные шрифты. Ничего страшного.
Автор топика и так грузит внешний цсс, суть его пассов руками в том, что он в XML просто присывает в аттрибутах какой именно класс из этого стайлшита использовать для простого текста, а какой для возбужденного ))
Дружно Выпейте Мохито и наполнитесь позитивной силой ))
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.