2016-10-12 15 views
0

私はeコマースストアを構築していますが、ホームページのロゴをSRCに変更するために小さなjQueryを作成しました。問題は、ページをロードするときに、新しいSRCが適用される前に間違ったロゴの読み込みが表示されることです。理由である、jQueryイメージがあまりにも遅いですsrc src()使用法

<script> 
    jQuery(document).ready(function() { 
     if (top.location.pathname === '/') { 
      jQuery(".logo img").attr("src", "newsrc.png"); 
     } 
    }); 
</script> 

は、私はjQueryのロゴを動作させるためには最初にロードされている必要があると言って、正しい次のようになります。

https://app.hyfy.io/v/abmoLf1Q35/?p=1

jQueryの:私はここでの問題を記録していますこれは問題ですか?

いずれにしても、jQueryを優先するか、ここで必要なものを達成するためのより良い方法を提案することが可能ですか?

私は応答に時間がとってありがとう、どうもありがとうございました。

+1

を介したブロックは、それはあります。 – Zack

+0

私には別の方法はないと理解していますが、それは正しいのですか? –

答えて

0

はい、jqueryは既存の要素を対象にする必要があります。言い換えれば

、ロジックが行く:あなたは、CSSへのアクセス権を持っている場合はjqueryの経由 1.負荷イメージアセット 2. ALTERソースが

、あなたはときにjQueryその後、.logoの表示なしを置くことはできませんディスプレイを追加し、ソースを変更:文書の読み込みが完了すると、あなたのjqueryのは、あなたのスクリプトは、それを置き換えるために実行する前に、あなたの旧ロゴが既に表示されることを意味し、実行されているための.css

<style> 
    .logo img{ 
     display:none; 
    } 
</style> 
<script> 
    jQuery(document).ready(function() { 
     if (top.location.pathname === '/') { 
      jQuery(".logo").css('display', 'block').find('img').attr("src", "newsrc.png"); 
     } 
    }); 
</script> 
+1

イメージをインラインにする必要がある場合は、ブロックをインラインで置き換えてください。 –

+0

ありがとうございます。ロゴを表示する前にロゴが表示されないと言っていいですか?それでも、間違ったロゴを最初に表示するよりも優れています。 –

+1

はい。それはロゴを表示する必要がありますし、正しい1つでポップアップ –

関連する問題