-1

ポップアップ(クリック)するログインフォームがありますが、サイトの任意のページをクリックすると、1秒間点滅します。これは、ワードプレス用のこのプラグインを使用して生成されますhttp://wordpress.org/extend/plugins/flexible-frontend-login/

http://oilfieldconference.com

再作成するには、サイトをロードして、ナビゲーションバーの[カレンダー]リンクをクリックします。ログインフォームが点滅します。コンソールに何も表示されません。

ここに画像の説明を入力してください

関連するJavascript(コンソール/リソースから取得したと思います):

jQuery(document).ready(function($) {
// $() will work as an alias for jQuery() inside of this function

// Add an empty container for overlay
$(document).ready( function($) {
    $('html').prepend('<div id="ffl-mask"></div><!-- added by Flexible Frontend Login Plugin. Needed for overlay. -->');
} );

$(document).ready(function() { 

     //select all the a tag with name equal to ffl-modal
     $('a[name=ffl-modal]').click(function(e) {
         //Cancel the link behavior
         e.preventDefault();
         //Get the A tag
         var id = $(this).attr('href');

         //Get the screen height and width
         var maskHeight = $(document).height();
         var maskWidth = $(window).width();

         //Set height and width to mask to fill up the whole screen
         $('#ffl-mask').css({'width':maskWidth,'height':maskHeight});

         //transition effect    
         $('#ffl-mask').fadeIn(600);   
         $('#ffl-mask').fadeTo("fast",0.8); 

         //Get the window height and width
         var winH = $(window).height();
         var winW = $(window).width();

         //Set the popup window to center
         $(id).css('top',  winH/2-$(id).height()/2);
         $(id).css('left', winW/2-$(id).width()/2);

         //transition effect
         $(id).fadeIn(1000);

     });

     //if close button is clicked
     $('.ffl-window .ffl-close').click(function (e) {
         //Cancel the link behavior
         e.preventDefault();
         $('#ffl-mask, .ffl-window').hide();
     });    

     //if mask is clicked
     $('#ffl-mask').click(function () {
         $(this).hide();
         $('.ffl-window').hide();
     });        

});

// calculate mask when user resizes window
$(document).ready(function () {
    $(window).resize(function () {

         var box = $('#ffl-boxes .ffl-window');

         //Get the screen height and width
         var maskHeight = $(document).height();
         var maskWidth = $(window).width();

         //Set height and width to mask to fill up the whole screen
         $('#ffl-mask').css({'width':maskWidth,'height':maskHeight});

         //Get the window height and width
         var winH = $(window).height();
         var winW = $(window).width();

         //Set the popup window to center
         box.css('top',  winH/2 - box.height()/2);
         box.css('left', winW/2 - box.width()/2);

    });
});


 $(document).ready(function() {

    // find all instances of flexible-frontend-login to append individual links
    $('a[name=ffl-popup]').each(function(){
        // get the tags from link
        var id = $(this).attr('href');
        // set linked div to hidden
        $(id).hide();                   
    });

    // select a tags with name equal to ffl-popup
    $('a[name=ffl-popup]').click(function(e) {
        // cancel link behavior
        e.preventDefault();
        // get the tags from link
        var id = $(this).attr('href');
        // Set visibility
        $(id).css('display', 'block');
    });

     //if close button is clicked
     $('.ffl-close-popup-link').click(function(e) {
         //Cancel the link behavior
         e.preventDefault();
         // get parent id
         var id = $(this).parents('div:eq(0)').attr('id');
         // and hide it
        $('#'+id).hide();
      });    

 });    

});
4

2 に答える 2

1

あなたはJavaScriptか何かを投稿しなかったので、私の最も良い推測は、JavaScriptで何も表示せず、ページのロード後まで実行されないということですか?たぶん、CSSにアクセスして、何も表示せず、display:blockをクリックしますか?

于 2013-03-05T01:21:51.420 に答える
1

私はあなたのための解決策を持っていると思いますが、それはあなたが使用しているプラ​​グインのクラスファイルを編集することを含みます。JSを見ました。問題となっているのは問題ではありません。問題となっているのは、問題のdivがページ上で生成されてからjsが非表示にすることです。これを修正するには、次の手順を実行します。私のマシンにはワードプレスと問題のプラグインがインストールされていないため、これはテストされていないことに注意してください。

49行目に移動しflexible-frontend-login\includes\classes\class.FrontendLogin.phpて見つけます。これは次のようになります。

$html .= "<div id='ffl-popup-content-$unique' class='ffl-popup-content ffl-{$this->horizontal_position} ffl-{$this->vertical_position}'>";

交換するか、このように編集してください。どちらも実際に機能します:

$html .= "<div id='ffl-popup-content-$unique' class='ffl-popup-content ffl-{$this->horizontal_position} ffl-{$this->vertical_position}' style='display: none;'>";

この編集により、問題のdivは、後でjsで非表示になるのではなく、生成時に非表示になります。

于 2013-03-06T07:38:16.220 に答える