Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   XML, CSS и переформатирование на onRollOver (http://www.flasher.ru/forum/showthread.php?t=142387)

Что такое хорошо? 20.07.2010 01:51

XML, CSS и переформатирование на onRollOver
 
Как, используя 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>
[IMG]http://s001.***********/i196/1007/7b/9eafc5623f18.png[/IMG]
(на рисунке нижний 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 форматирования для одного и того же текста и менять их на роллОвер

В случае, когда текст на роллОвер нужен однотонный, я делаю так:
- обычное состояние текста форматируется из ЦСС (как в примере выше)
- онРоллОвер форматирую в мувике
Код AS1/AS2:

mc.onRollOver = function() {
  this.txtpole.htmlText = "<p class='ylw'>"+String(_t._parent.id)+"</p>";
};

А как в этом случае?
Нужна подсказка.

rainbowrussia 20.07.2010 13:57

Цитата:

Сообщение от Что такое хорошо? (Сообщение 923529)
у меня, по сути, так и сделано (см. выше)

Попробуйте именно так, с <font>, у меня другие варианты всегда вызывали непонятки и проблемы.

Что такое хорошо? 20.07.2010 14:04

как это записать? В том смысле, что 1 текст и 2 разных состояния для него.

bbexp 20.07.2010 14:14

знаешь ка чего ты сделай...

Ты в XML в CDATA отдавай только сам текст,
а два разных правила форматирования вынеси в отдельные ноды или аттрибуты.
Вероятно форматирование не работает, потому что ты флеш путаешь пачкой стилей, и он решает пользоваться внутренним стилем.

Код:

<title color="#000000" overcolor="#FFFFFF" >Kavabalga</title>

rainbowrussia 21.07.2010 00:18

Цитата:

Сообщение от Что такое хорошо? (Сообщение 923594)
как это записать? В том смысле, что 1 текст и 2 разных состояния для него.

Примерно так:

Код AS1/AS2:

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 - прямоугольник _над_ текстом для ловли ролловера, ну или иначе ловите, как у вас сейчас.

in4core 21.07.2010 13:36

В xml давать CDATA ? А нафига! Есть все для людей. А именно сторонние CSS файлы.
из хелпа :
Код AS1/AS2:

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");

Ну а дальше че нить в виде
Код AS1/AS2:

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
Код AS1/AS2:

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>";


in4core 21.07.2010 16:07

Вы не понимаете видимо , что у нас совершенно разные скрипты и работают они подругому и отличие их так же.... делайте ламерски, вопросв нет


Часовой пояс GMT +4, время: 02:23.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.