做网页时弹出一个窗口显示一些内容是一种很常见的交互方式,如图中用户点击“个人资料“时并不是转到一个新页面,而是在当前页面弹出修改密码的窗口。弹出窗口的实现方式有很多,这里罗列一种。
弹出窗口的内容是作为一个单独的div存在的,这个div可以在页面刚开始载入时不填入内容,而在以后通过json或者直接返回js来填入。其次,弹出窗口的显示位置一般是绝对位置,一方面是不影响页面布局,另一方面也希望其作为一个顶层窗口来呈现,所以需要指定其position css。
我这里div里的内容是后面填入的,预先填入也可以。当要显示时,就通过js将这个div显示即可。为此我封装了几个js函数。
show_popup函数主要就是将目标元素的位置做调整,然后显示。通常情况下我只需传入元素的id,manual属性指定弹出窗口是否手动关闭。对于tooltip的实现,则需要让其自动关闭。针对以上例子,使用方式为:
其中profile-link就是那个“个人资料“链接。