我正在使用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>
link where it directs it to specific element
我修改了我的功能如下,但它对我不起作用
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>
答案 0 :(得分:0)
我想,问题是Id字段。
“gl1”id是adf组件的正确标识符,但是在html-dom中它会有点不同,因为adf组件本身可能具有复杂的html结构并且保持id的唯一adf会将父ID添加为它作为前缀等。
还有一件事。您必须检查 clientComponent 选项是否设置为“ true ”,以确保此组件在dom中可用。然后找到像FireBug真实组件ID
它可能看起来有点复杂,比如“pt1:pg1:gl1:link”。如果您确定您的代码将始终在同一环境中运行,则可以对此ID进行硬编码。 另一个选择是使用mask来查找你的组件。
此外,您可以尝试使用AdfPage(本机js lib)按原始ID访问adf组件(虽然它不是那么容易使用,也有一些限制)。