0

jdev11.1.1.6を使用しています

ページの上部にスクロールする必要がある場合..これは完全に機能します..

var scrollTop = function (event) {
$('.mainWrapper,body,html').animate( {
scrollTop : 0
}, 'slow');
}

pqr.jsff から次のように呼び出します

<af:commandLink text="click test" clientComponent="true" id="col7">
<af:clientListener method="scrollTop " type="click"/>
</af:commandLink>

特定の要素に誘導するリンク

以下のように機能を変更しましたが、うまくいきません

var scrollToSpecificPosition= function (event) {
$('.mainWrapper,body,html').animate( {
scrollTop : $("#gl1").offset().top
}, 'slow');
}

gl1 は、ポイントしたいIDです

<af:goLink id="gl1" text="test"></af:goLink>

pqr.jsff から次のように呼び出します

<af:commandLink text="click test" clientComponent="true" id="col7">
<af:clientListener method="scrollToSpecificPosition" type="click"/>
</af:commandLink>
4

1 に答える 1

0

問題は Id フィールドだと思います。
「gl1」idはadfコンポーネントの正しい識別子ですが、html-domでは少し異なります。adfコンポーネント自体が複雑なhtml構造を持っている可能性があり、idの一意のadfを保持するために、親のidを接頭辞として追加するなどです。 .
もう一つ。このコンポーネントが DOM で使用可能であることを確認するには、clientComponentオプションが「true」に設定されていることを確認する必要があります。次に、FireBug の実際のコンポーネント ID などで検索し、

「pt1:pg1:gl1:link」のように、もう少し複雑に見えるかもしれません。コードが常に同じ環境で実行されることが確実な場合は、この ID をハードコーディングできます。別のオプションは、マスクを使用してコンポーネントを見つけることです。

また、AdfPage (ネイティブ js ライブラリ) を使用して、元の ID で adf コンポーネントにアクセスすることもできます (ただし、使いやすくはなく、いくつかの制限もあります)。

于 2013-10-17T22:54:08.040 に答える