こんばんは。
http://www.mdn.co.jp/content/view/962/の『p096.lzh』を参考にして、下記のコードを書きました。
■やりたい動き
XML(msg.xml)から取得した『name』が右から左にスライドします。
スライドされている『name』をクリックすると、『link』へリンクします。
■質問?
ttlMC.str.htmlText = cNvalue;
msgMC.str.htmlText = cNvalue;
で、値が取れていないようです。
■質問?
下記の処理ができておりません。
// メニューボタン上でマウスボタンを離した時
msgChild[cnt].onRelease = function(){
getURL( this.link, "_blank" );
}
恐れ入りますが、ご教授お願いいたします。
// XMLオブジェクト作成
msgXML = new XML();
msgXML.ignoreWhite = true;
// XMLファイル読込
if( xmlUrl != null ){
msgXML.load( xmlUrl + "?" + Math.random() );
}
else{
msgXML.load( "msg.xml?" + Math.random() );
}
// XMLファイル読込後、関数「LoadedData」を実行
msgXML.onLoad = LoadedData;
// XML読込時の処理関数
function LoadedData(){
cnt = 0;
msgChild = msgXML.childNodes;
msgCnt = msgChild.length;
Message();
}
// メッセージ表示関数
function Message(){
ttlMC._x = -34;
msgMC._x = 500;
//ttlMC.str.htmlText = msgChild[cnt].firstChild;
//msgMC.str.htmlText = msgChild[cnt].lastChild;
var cNname = msgChild[cnt];
var nNname = cNname.nodeName;
var cNvalue = cNname.firstChild.nodeValue;
switch(nNname){
case 'name':
ttlMC.str.htmlText = cNvalue;
break;
case 'link':
msgMC.str.htmlText = cNvalue;
break;
default:
brack;
}
tID = setInterval( SlideIn, 5 );
cnt++;
if( cnt >= msgCnt ){
cnt = 0;
}
}
// メニューボタン上でマウスボタンを離した時
msgChild[cnt].onRelease = function(){
getURL( this.link, "_blank" );
}
// スライドイン関数
function SlideIn(){
if( msgMC._x > 8.5 ){
msgMC._x -= 1;
ttlMC._x += 1;
}
else{
clearInterval( tID );
tID = setInterval( SlideStop, 2000 );
}
}
// スライドストップ関数
function SlideStop(){
clearInterval( tID );
tID = setInterval( SlideOut, 10 );
}
// スライドアウト関数
function SlideOut(){
if( msgMC._x >= -34 ){
msgMC._x -= 1;
ttlMC._x += 1;
}
else{
clearInterval( tID );
Message();
}
}
stop();
■msg.xml
<?xml version="1.0" encoding="utf-8"?>
<msglist>
<name>あいうえお</name>
<link>http://aiueo.com</link>
</msglist>
<msglist>
<name>かきくけこ</name>
<link>http://kakikukeko.com</link>
</msglist>
<msglist>
<name>さしすせそ</name>
<link>http://sasisuseso.com</link>
</msglist>