ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
フォーラム一覧   -   トピック一覧
   Flex Builder 3
     FlexでHTMLのページ内リンクみたいなことって出来ますか?
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
mikkun
投稿日時: 2010-8-27 11:53
常連さん
登録日: 2008-7-29
居住地: 東京
投稿: 35
FlexでHTMLのページ内リンクみたいなことって出来ますか?
HTMLで同一ページ内の所定位置に移動する仕組みがあります。

<a href="#リンクしたいページ内のラベル名">リンク文字列</a>

これと同じようなことをFlexでも実現したいと考えています。


例えば、リンクボタンを押下すると所定のコンポーネントに移動する
といったことです。


1枚の画面でたくさんスクロールしないといけないところがあり、
リンクでページングしたいと考えています。


Flexで実現できるのでしょうか?
kacchan6
投稿日時: 2010-8-27 13:20
ご主人様
登録日: 2009-10-15
居住地:
投稿: 167
Re: FlexでHTMLのページ内リンクみたいなことって出来ますか?
自動っていうのはないです。

縦方向のスクロール位置は、コンテナのverticalScrollPositionに代入すると変えれます。
表示したいセクションのyをコンテナのverticalScrollPositionに代入すればOKです。
mikkun
投稿日時: 2010-8-27 16:54
常連さん
登録日: 2008-7-29
居住地: 東京
投稿: 35
Re: FlexでHTMLのページ内リンクみたいなことって出来ますか?
kacchan6さん

ご回答ありがとうございます。

移動したい位置を数値で指定するしかないんですね。

画面内のコンテンツが動的に伸び縮みするとなると
数値指定は厳しいですね…。


HTMLで出来てFlexで出来ないのって何だか悲しいです…。


kacchan6
投稿日時: 2010-8-27 17:14
ご主人様
登録日: 2009-10-15
居住地:
投稿: 167
Re: FlexでHTMLのページ内リンクみたいなことって出来ますか?
引用:

画面内のコンテンツが動的に伸び縮みするとなると
数値指定は厳しいですね…。

動的に取得すれば良いと思います。
セクションにIDを指定して、そのIDで取得したセクションのYを使うだけです。
buibui
投稿日時: 2010-8-27 17:20
ご主人様
登録日: 2009-10-18
居住地: 中部
投稿: 168
Re: FlexでHTMLのページ内リンクみたいなことって出来ますか?
こんにちは、横やりで恐縮です。

kacchan6 さんのご指摘通りですが参考にどうぞ。


<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
private function click(_terget:Button):void
{
  cCanvas.verticalScrollPosition = _terget.y;
}
]]>
</mx:Script>
  <mx:Canvas
    id="cCanvas"
    x="10" y="40" width="527" height="415"
    verticalScrollPolicy="on"
    borderStyle="solid" borderColor="#FFFFFF" backgroundColor="#D0D0D0">
    <mx:Button id="b1" x="10" y="10" label="ボタン1"/>
    <mx:Button id="b2" x="10" y="100" label="ボタン2"/>
    <mx:Button id="b3" x="10" y="250" label="ボタン3"/>
    <mx:Button id="b4" x="10" y="500" label="ボタン4"/>
    <mx:Button id="b5" x="10" y="1000" label="ボタン5"/>
  </mx:Canvas>
  
  <mx:Button click="click(b1)" x="10" y="10" label="ボタン1へ移動"/>
  <mx:Button click="click(b2)" x="117" y="10" label="ボタン2へ移動"/>
  <mx:Button click="click(b3)" x="224" y="10" label="ボタン3へ移動"/>
  <mx:Button click="click(b4)" x="331" y="10" label="ボタン4へ移動"/>
  <mx:Button click="click(b5)" x="438" y="10" label="ボタン5へ移動"/>
</mx:Application>

mikkun
投稿日時: 2010-8-27 17:56
常連さん
登録日: 2008-7-29
居住地: 東京
投稿: 35
Re: FlexでHTMLのページ内リンクみたいなことって出来ますか?
kacchan6 さん、buibui さん

ご回答ありがとうございます。

なるほど飛ばしたいコンポーネントのYはどんな値でも良いんですね!

ご提供いただいたソースを元に
CanvasをVBoxにして試したところ、各ボタンのYはどんな値でも良いということがわかりました。
(全部同じ値にしても期待する動きになりました)

ということは、Yの値が何なのか?が大事なのではなく、
ターゲットとなる「コンポーネントの"Y"」である
ということが大事なんですね。

横移動させる場合はxを指定すればよさそうです。


とても助かりました!ありがとうございました。

#Flexくん、HTMLさんより劣っているみたいな言い方してごめんね
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を