2012-02-27 233 views
0

我有一個jQuery工具覆蓋一個我的WordPress博客,我有代碼保持它的位置,當我調整窗口的大小時,我希望它。但首先點擊加載覆蓋,它顯示在頁面的中心,我需要它設置在左邊額外的250px。Jquery覆蓋默認定位

繼承人我用於定位代碼:

$(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 }) 
} 

上述應計算的默認位置(中心),然後添加250像素,但其不添加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 }) 

我想我需要使用比(文件)以外的東西。就緒

PS-您可以通過點擊右上角的關閉覆蓋,世界上沒有視覺指示器,但現在你的光標會更改。

有什麼建議嗎?

謝謝!

回答

2

只需在#search-box-nav圖像(或任何具有點擊處理程序的元素)上的Click事件處理函數中刪除setDef()函數並將其撥打rePosition()即可。

如果您刷新頁面,並運行在控制檯然後模仿下面的代碼這樣做......

$("#search-box-nav img").bind("click", function() { rePosition(); }); 
+0

我把這些代碼的功能,但沒有運氣。玩了一下,仍然沒有運氣。加載覆蓋圖的元素是img [rel] ...以下是調用覆蓋圖的腳本: $(document).ready(function(){$(「img [rel]」)。overlay { \t \t固定的:假的, \t \t頂:160, – Brett 2012-02-27 18:09:55

+0

東西,什麼地方,是一個click事件綁定到的圖像(或容器)中會有一些在覆蓋DIV淡出的行之後。 ''fadeIn()'(或類似的),把'rePosition();'我上面給你的代碼就是我如何在你的網站上測試它,而不需要將它添加到你的腳本中。點擊按鈕,然後在控制檯中運行該代碼,然後點擊按鈕,然後在正確的位置。我只是讓你知道我測試過了它和它的工作。 – Archer 2012-02-27 18:41:43

+1

好的 - 我看到你添加了'$(「#ab」)。bind(「click」,function(){rePosition();});'你需要將它移入'document.ready'塊中,它只在所有內容加載後運行。它目前正在頁面上顯示圖像。該腳本只能綁定到about按鈕,而不是其他按鈕,所以您需要我上面給出的代碼才能在所有按鈕上工作。 – Archer 2012-02-27 18:47:16