0

HTMLが読み込まれるとすぐに矢印を表示したい(プラグインの他のJavaScriptが読み込まれるのを待たずに)。だから私はこれを試した:

<script type="text/javascript">
  function PreLoad() {
    $('.page-template-front-page-2-php #header .container').append('<div id="top-line-arrow-home"></div>');
    $('.post-type-archive-games #menu-item-402').append('<div id="top-line-arrow"></div>');
    $('.post-type-archive-news #menu-item-420').append('<div id="top-line-arrow"></div>');
    $('.post-type-archive-jobs #menu-item-412').append('<div id="top-line-arrow"></div>');
    $('.page-template-about-page-php #menu-item-19').append('<div id="top-line-arrow"></div>');
    $('.page-template-contact-page-php #menu-item-22').append('<div id="top-line-arrow"></div>');
  }
</script>

<body <?php body_class(); ?> onload="javascript:PreLoad();">

ただし、他のすべての JavaScript (ヘッダー内) が読み込まれた後も矢印が表示されます。

これにアプローチする他の方法はありますか?

4

2 に答える 2

0

PreLoad()これにはいくつかの選択肢があります。関数の実行が終了した後に他のコードの実行をブロックしていると思われる条件がないため、関数の実行に時間がかかっている可能性があります。 .

body セクションとPreLoad()head セクションに他の JavaScript コードを配置しても、あまり役に立ちません。

試すことができる代替手段の 1 つはPreLoad()、通常どおり in document ready イベントを配置し、他の JavaScript コードを にシフトすること$(window).load()です。$(window).load()ドキュメント準備完了イベントよりも少し後に実行されるためです。

これを行う別の方法は、$.deffered を使用することです。

var FirstFunction = function () {
 // creating a deferred object
var obj = $.Deferred();

 // do something with your code

setTimeout(function () {
 //call `resolve` on the deferred object once you're done!
 obj .resolve();
}, 3000);

 // return the deferred object
 return obj;
};

 // define SecondFunction here
var SecondFunction = function () {
 console.log('This is another function');
};

/* call FirstFunction and use the `done()` method
with `SecondFunction ` as it's parameter */

FirstFunction().done(SecondFunction);

これがお役に立てば幸いです。

于 2013-05-15T07:43:07.370 に答える
0

外部の .js ファイルを使用して参照し、css lik の先頭にある jquery を参照して、最初に読み込まれるようにします。

<head>
  <title>
  </title>
  <script type="text/javascript" src="js/jQuery-v2.js"></script>    
 <script type="text/javascript" src="js/external.js"></script>
 <link rel="stylesheet" type="text/css" href="css/style1.css" />
</head>
于 2013-05-15T07:51:45.260 に答える