トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     XMLを読み込み⇒スライド⇒クリックしてリンクという動きができません
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ゲスト
Åê¹ÆNo.35378
投稿日時: 2007-10-2 19:24
XMLを読み込み⇒スライド⇒クリックしてリンクという動きができません
こんばんは。

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>
野中文雄
Åê¹ÆNo.35387
投稿日時: 2007-10-2 23:02
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: XMLを読み込み⇒スライド⇒クリックしてリンクという動きができません
まず、機種依存文字のご使用はお控えください。

つぎに、スクリプトの処理内容は、理解されていますか?ご質問の点を確認するのに、これだけの長いスクリプトは不要なはずです。端的に申し上げれば、「参考」にしたというスクリプトを丸まる流用した中に、若干のステートメントを修正・追加しているだけに見受けられます。

雑誌のサンプルについて、このような引用方法は問題でしょう。引用のスクリプトは、ご質問から一旦削除されることをお勧めします。
引用:
ichiro51さんは書きました:
http://www.mdn.co.jp/content/view/962/
の『p096.lzh』を参考にして、下記のコードを書きました。

■やりたい動き
XML(msg.xml)から取得した『name』が右から左にスライドします。
スライドされている『name』をクリックすると、『link』へリンクします。

■質問(1)
ttlMC.str.htmlText = cNvalue;
msgMC.str.htmlText = cNvalue;
で、値が取れていないようです。

スクリプトの内容を理解されているのでしたら、ご自分の追加した処理を確認するのに必要な最小限のサンプルをまず作成してください。その作業の後に、ご自分の意図した内容をご説明のうえ、その最小限のスクリプトを引用されるべきでしょう。→【スクリプトを見てください

参考までに、テスト用スクリプトサンプルの例を掲げます。
var xml_str:String = '<?xml version="1.0" encoding="utf-8"?>';
xml_str += "<msglist>";
xml_str += "<name>あいうえお</name>";
xml_str += "<link>http://aiueo.com</link>";
xml_str += "</msglist>";
xml_str += "</msglist>";
msgXML = new XML(xml_str);
msgXML.ignoreWhite = true;
var cnt:Number = 0;
var msgChild:Array = msgXML.childNodes;
var msgCnt:Number = msgChild.length;
var cNname:XMLNode = msgChild[cnt];
var nNname:String = cNname.nodeName;
var cNvalue = cNname.firstChild.nodeValue;

[デバッグ] > [変数のリストアップ]より一部引用:
変数 _level0.cNname = [オブジェクト #3, クラス 'XMLNode']
変数 _level0.nNname = "msglist"
変数 _level0.cNvalue = null


----------------
 

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops