0

読んでくれてありがとう。私のワードプレスサイトにいくつかのコードがあります。最初のコードは、画像に色、記事のタイトル、プロジェクトに移動するためのリンクを含むオーバーレイを追加します。2番目のコードは、jQueryを使用してajaxページ付けを追加します。

画像付きのプロジェクトとjqueryオーバーレイが完璧に機能しているのですが、ajaxページ付けを呼び出す前のプロジェクトリンクをクリックすると、jqueryオーバーレイが機能しなくなります。

私はさまざまなオプションを試してきましたが、おそらくそれを解決する正しい方法ではありません。誰かが手がかりを持っていますか?

前もって感謝します。

コード:

    // PORTFOLIO HOVER EFFECT   

 jQuery('ul.portfolio-thumbs li').hover(function(){  
         jQuery(".overlay", this).stop().animate({top:'0px'},{queue:false,duration:300});  
     }, function() {  
        jQuery(".overlay", this).stop().animate({top:'190px'},{queue:false,duration:300});  
    });  


    // POSTS NAVIGATION     
    jQuery('#posts-navigation a').live('click', function(e){
        e.preventDefault();
        var link = jQuery(this).attr('href');
        jQuery('#ajax-container').fadeOut(500).load(link + ' #ajax-inner', function(){ jQuery('#ajax-container').fadeIn(500); });
    });
4

2 に答える 2

2

私は同じ日に解決策を見つけました、そして@BrockAdamsは疑問を解決するのを手伝ってくれました。誰かに役立つ可能性があるため、ここにコードを配置します。

jQuery('ul.portfolio-thumbs li').live('hover', function(event){  
    if (event.type == 'mouseenter') {
          jQuery(".overlay", this).stop().animate({top:'0px'},{queue:false,duration:300});  
        } else {  
         jQuery(".overlay", this).stop().animate({top:'190px'},{queue:false,duration:300});  
         }
     });  


jQuery('#posts-navigation a').live('click', function(e){
        e.preventDefault();
        var link = jQuery(this).attr('href');
        jQuery('#ajax-container').fadeOut(500).load(link + ' #ajax-inner', function(){ jQuery('#ajax-container').fadeIn(500); });
    });
于 2011-09-17T05:17:10.690 に答える
0

自分の質問に対する回答を投稿できます

また、ページネーションはおそらく新しいs で読み込まれるため、ホバーでlive()Docを使用する必要がありました。portfolio-thumbs li

がないとlive()、これらの新しいlisにはイベントが関連付けられません(jQuery('ul.portfolio-thumbs li').hoverすべてのページネーションイベントの後に再度呼び出されない限り)。
ライブはより簡単で、同じイベントリスナーの複数のコピーを要素にアタッチするという落とし穴を回避します。

そして、はい、live()同じページで両方の呼び出し(またはそれ以上)を問題なく使用できます。

于 2011-08-05T18:52:08.030 に答える