我想使用jquery.offset()方法在sapui5中的视图内的特定位置添加图像。但是,它不起作用。调试器显示图像的默认偏移值。请帮忙。
我有一个id为“id_image”的图片,我使用以下代码设置图片的偏移量:
var Image = new sap.m.Image("id_image",{
src:"images/myImage.png"
});
$("#id_image").offset({top:"200px", left:"300px"});
return new sap.m.Page("id_page",{
title: "View",
content: [Image
]
});
答案 0 :(得分:0)
如上所述,您的代码存在一些问题:
onAfterRendering
事件中。offset()
方法的坐标只接受数字(10,20等),而您提供了CSS单位('100px'等)请参阅此工作jsbin示例http://jsbin.com/jafuk/1/edit,其中偏移量在onAfterRendering
事件中设置。
既然您已经询问过动画in another topic,我已经补充说这是奖励。我将把它作为练习如何将控件/图像从一个MatrixLayout(Cell)分离到另一个: - )
答案 1 :(得分:0)
通常,使用JQuery的HTML转换不是一个好主意。 出于您的目的,您应该使用 sap.ui.commons.layout.AbsoluteLayout 来定义图像偏移。
var oImage = new sap.m.Image("id_image",{
src:"images/myImage.png"
});
var oLayout = new sap.ui.commons.layout.AbsoluteLayout({
width: "" //Adjust width
height: "" //and height for container
}).addContent(oImage, {top:"200px",left:"300px"});
return new sap.m.Page("id_page",{
title: "View",
content: [oLayout
]
});