例如,我有两个 div 容器,如下所示:
^^^^^^^^^^^^^^^^^^<br/>
DIV 1 container|<br />
%%%%%%%%|
^^^^^^^^^^^^^^^^^^<br/>
DIV 2 container|<br />
%%%%%%%%|
第一个(Div1)是 Div 2 的顶部。我想在这些 div 角之一(左上、右上、左下、右下)上浮动一个图标。
对于第一个 div,这将非常容易,因为我可以使用 jQuery 来获取 div 的宽度和高度并计算角坐标。例如,如果第一个 div 维度是:
1240 = 宽度 375= 高度
我使用 jQuery 获得这些尺寸:
var heightdiv1=$('div1').height();
var widthdiv1 = $('div1').width();
以下是在 JS 中计算的坐标:
计算右下坐标:
左=1240-1240*0.1=1116= 上=375-375*0.1=337.5
计算左下坐标
左=0 上=375-375*0.1=337.5
计算右上角坐标:
左=1240-1240*0.1=1116 上=0
计算左上角坐标:
左=0 上=0
然后我可以使用 jQuery 将图标附加到 div 并使用 position:absolute 来获得浮动效果:
$('#div1').append('<a href="#"><img src="/test/icon.jpg" style="position:absolute; top: '+top+'px; left: '+left+'px"></a>');
这个配方非常有效,但仅适用于第一个 div。对于页面中的第二个 div (DIV2) 或任何其他 div,它不会落在正确的角落。
我相信我仍然可以为任何其他 div 获得正确的 div 尺寸,但我发现很难将我的图标定位在它们的特定角落,就像我在第一个 div 上所做的那样。
我试过使用 .offset() 但我不知道它是否可以计算角位置。如果有人可以提供一些提示,将不胜感激。谢谢。