0

私は問題を抱えており、昨日それを探し始めて以来、それは私に頭痛を与えています。

いくつかのjQueryスクリプトがあり、私のページには.loadjQuery ajaxが含まれています(ページの下部にあります)。

画像にホバー効果を使用し、js/tools.jsにあるヘッダーの位置を固定します

問題は、ランダムに私のブラウザがtools.jsをajaxにロードしないことです。そのため、読み込まれたajaxコンテンツに画像のホバー効果が表示されない場合があります。ページを更新すると、問題なく動作します。

私が最初に賭けたのは、使用するスクリプトが衝突するか、コンテンツまたは.jsが読み込まれる順序に問題があるということでした。

js:

$(document).ready(function() {
    $('.cta-btn, .portf1, .portf2, .portf3, .portf4, .portf5, .btn-facebook, .btn-twitter, .btn-linkedin, .btn-studiofacebook, .btn-studiotwitter,.btn-studiolinkedin,.newsitem1, .newsitem2, .newsitem3').append('<span class="hover"></span>').each(function () {
        var $span = $('> span.hover', this).css('opacity', 0);
        $(this).hover(function () {
            $span.stop().fadeTo(200, 1);
        }, function () {
    $span.stop().fadeTo(400, 0);
        });
    });
});

$(function(){
     var stickyHeaderTop = $('#stickyheader').offset().top;

     $(window).scroll(function(){
             if( $(window).scrollTop() > stickyHeaderTop ) {
                     $('#stickyheader').css({position: 'fixed', top: '0px'});
                     $('#stickyalias').css('display', 'block');
             } else {
                     $('#stickyheader').css({position: 'static', top: '0px'});
                     $('#stickyalias').css('display', 'none');
             }
       });   
});

html:

<!-- portfolio -->
<div id="portfoliowrapper">
<div id="portfolioitems"></div>
<script>$("#portfolioitems").load("werk.html #portfolio");</script>
<div class="clear"></div>
<a href="werk.html" class="cta-btn"><h2 class="btn">Werk</h2></a>
</div>

何か案は?前もって感謝します!

4

2 に答える 2

0

あなたはいくつかのコードを示す必要があります、あなたは私たちがあなたのサイトを掘り下げることを期待することはできません。

使用している可能性が非常に高いです

$(function(){
   // code that depends on images being loaded here
});

ただし、イメージがロードされるのを待つのではなく、DOMを変更する準備ができるまで待つだけです。画像を待機するイベントは、ウィンドウのロードイベントです。

$(window).load(function(){
   // here all images in the HTML are guaranteed to be loaded
});

2回目にページを実行すると、画像はキャッシュに保存され、DOMの準備ができたとき、つまり$(document).ready()ハンドラーから既に読み込まれています。

于 2012-06-01T07:47:17.353 に答える