我有一个jquery工具覆盖了我的wordpress博客,我有一些代码可以保持它在我调整窗口大小时的位置。但是在第一次点击加载叠加层时,它会显示在页面的中央,我需要将其设置为左侧另外250px。
继承我的定位代码:
$(document).ready(function() { setDef() });
function setDef() {
var w = $('.simple_overlay').width();//get width of overlay
var h = $('.simple_overlay').height(); //get height of overlay
var l = ($(window).width() - w) / 2 + 250; //calculate left property
var t = ($(window).height() - h) / 2 //calculate top property
$('.simple_overlay').css({ 'left': l })
}
以上应计算默认位置(居中)然后加250px,但不加250。 调整窗口大小时,下面的代码会添加250.
$(window).resize(function() { rePosition() });
function rePosition() {
var w = $('.simple_overlay').width();//get width of overlay
var h = $('.simple_overlay').height(); //get height of overlay
var l = ($(window).width() - w) / 2 + 250; //calculate left property
var t = ($(window).height() - h) / 2 //calculate top property
$('.simple_overlay').css({ 'left': l })
我想我需要使用(document).ready
以外的东西Ps-你可以点击右上角关闭叠加层,现在没有可视指示,但光标会改变。
有什么建议吗?
感谢!!!
答案 0 :(得分:2)
只需摆脱setDef()
函数,并在#search-box-nav图像上的点击事件处理程序中调用rePosition()
(或任何元素都有点击处理程序)。
如果刷新页面并在控制台中运行以下代码,那么它会模仿这样做......
$("#search-box-nav img").bind("click", function() { rePosition(); });