2012-02-27 10 views
0

私はjqueryツールを1つ私のワードプレスブログにオーバーレイしています。私はウィンドウのサイズを変更したときに、その位置に保持するコードを持っています。しかし、最初のクリックでオーバーレイを読み込むと、ページの中央に表示されます。左側に250pxを追加する必要があります。Jqueryオーバーレイのデフォルトの位置付け

HERESに位置決めするための私のコード:ウィンドウがある場合

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

.ready(ドキュメント)以外のものを使用する必要があると思いますが、今のところ何の視覚的なインジケータをtheresのが、あなたのカーソルは意志変化する。

提案がありますか?

ありがとうございました!

答えて

2

setDef()関数を取り除き、#search-box-nav画像(またはクリックハンドラを持つ要素)のクリックイベントハンドラにrePosition()の呼び出しを入れてください。

あなたのページを更新し、コンソールに次のコードを実行した場合、それがあることをやって模倣...

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

私は機能が、運にそのコードを置きます。ちょっと遊んでまだ運がない。オーバーレイをロードする要素はimg [rel] ...オーバーレイを呼び出すスクリプトです: $(document).ready(function(){ \t $( "img [rel]")オーバーレイ{ \t \tは固定:偽、 \t \tトップ:160、 – Brett

+0

何か、どこかで、画像(またはコンテナ)にクリックイベントをバインドされてオーバーレイのdivにフェード何かがあることを行の後。私があなたに与えたコードは、あなたのスクリプトにそれを追加せずにあなたのサイトでそれをテストしたものでした。あなたのサイトを開いた場合は、ボタンをクリックし、コンソールでそのコードを実行します。その後、ボタンをクリックすると正しい場所に移動します。それは動作します。 – Archer

+1

OK - '$("#ab ")を追加したのが分かります。bind(" click "、function(){rePosition();});' 'document.ready'ブロックの中でそれを移動する必要があります。すべてがロードされると実行されます。イメージがページ上に表示される前に現在実行中です。そのスクリプトはボタンについてのみにバインドされますが、他のボタンにはバインドされませんので、すべてのボタンで機能させるために上に示したコードが必要です。 – Archer