2011-07-25 3 views
0

WordPressサイト用に既存のjQueryポップアッププラグインを使用しています。ポップアップは素晴らしいですが、唯一の問題はスタイリングです。デザインに「オーバーレイ」は含まれていません。私はバックグラウンドを「グレーアウト」したいので、これを実現するためにCSSにいくつかのクラスとスタイルを追加することにしましたが、壁にはまっています。ここでjQueryのポップアップボックスオーバーレイが閉じない

は、元のHTMLた:

<div id="messagebox" class="visiblebox"> 
    <a href="" id="closebox" title="Close this box"></a> 
    <div id="message">message content</div> 
</div> 

そして私は、このHTMLを作成することが、上記のdivを追加しました:ここ

<div id="popupOverlay" class="visiblebox"></div> 
<div id="messagebox" class="visiblebox"> 
    <a href="" id="closebox" title="Close this box"></a> 
    <div id="message">message content</div> 
</div> 

はJSである - 私はremoveMessageBox関数に2行目を追加しました上記のHTMLを編集した後は、以下のようになります。

function removeMessageBox() { 
    jQuery(this).parent('#messagebox').removeClass('visiblebox').addClass('hiddenbox'); 
    jQuery(this).parent('#popupOverlay').removeClass('visiblebox').addClass('hiddenbox'); 
    return false; 
} 


function boardReady() { 
    jQuery('#closebox').click(removeMessageBox); 
    jQuery('#messagebox').css('visibility', 'visible'); 
} 

jQuery(window).load(boardReady); 

そして、対応するCSS:

div#popupOverlay.visiblebox {display: block;} 
div#popupOverlay.hiddenbox {display: none;} 
div#messagebox.visiblebox {display: block;} 
div#messagebox.hiddenbox {display: none;} 

もちろん、動作しません。私はほとんどすべてのJSを知っているので、密接なリンクをクリックしたときにクローズアクションと同じ効果を得るために、適切な関数に何を追加するのか正確にはわからない。

+0

私は 'popupOverlay'が達成するはずのものは完全にはわかりませんが、' closebox'リンクの上に置いてそれを解除できないのでしょうか? – Tomm

+0

私たちを実際のプラグインにリンクできますか?または、少なくとも私たちにメッセージボックスとポップオーバーレイの両方のCSSを提供していますか? – Purag

+0

@Tomm - いいえ、他のスタイルには、それらがすべて正しい順序でそこに座るようにするZ-インデックスがあります。ポップアップで閉じるボタンをクリックすると、正常に終了しますが、その背後にあるオーバーレイ(不透明なカラースタイルが適用されています)がそのまま残り、サイト全体が使用できなくなります。 – RodeoRamsey

答えて

1

が表示されます。あなたはこの

function removeMessageBox() { 
    jQuery('#messagebox').removeClass('visiblebox').addClass('hiddenbox'); 
    jQuery('#popupOverlay').removeClass('visiblebox').addClass('hiddenbox'); 
    return false; 
} 

をしようとしないのはなぜ両方の要素が固有のIDを持っているように(すなわち.parents()メソッドを使用して)すべてのjQueryを横断するため必要はありません。あなたのコードの問題は#popupOverlaycloseboxの親ではないということです。

+0

BRILLIANT Tomm !!!どうもありがとうございます!!! :)そのトリックをした!!!! – RodeoRamsey

関連する問題