0

投稿の読み込み時に javascrip(jquery)t によってサイズ変更された動的要素を持つワードプレスのテーマがあります(単一の投稿、リストページではありません)

それで:

<div class='some-div'>

<div class='content'>
<?php /* code to load posts */ ?>
</div>

現時点では、javascript で div.content の高さを取得し、その高さを別の div.some-div に適用します

問題は、接続が遅い場合、コンテンツがロードされる前に高さの計算が行われることです

したがって、私が必要とするのは、投稿の読み込みが完了した後にのみ JavaScript 関数を実行することです。

現時点では、関数を遅延させ、フッターにスクリプトを配置し、「延期」属性を使用していますが、それでも発生します

何か案は?

4

3 に答える 3

0

誰かが同じ問題を抱えている場合に備えて答えるだけです。

私は dom がロードされる前に関数を実行していましたが、単純な間違いは簡単に解決されました。

使用する

$(function(){
  // code here
});

の省略形として$(document).ready

于 2012-10-30T11:54:22.893 に答える
0

最初にそのdivの内容を次のような変数に保存してみませんか

var my_js_var = <?php echo $content ?> ;

次に、divに保存されているコンテンツが「my_js_var」と等しい場合にのみ、サイズ変更div関数を呼び出す関数を使用して言います

//Would be something like:
var my_content = <?php echo $content ?> ; //Downloading the content

//Timer to constantly check if the div is loaded correctly
var timer = window.setTimeout('refresh()',100)

function refresh () {
//if the content of your div is equal to 'my_content' variable
//then call the resize function of the div
//finally clear the timeout [clearTimeout(timer)]

}

テストしなかった

それが機能するかどうか教えてください..

よろしくお願いします

于 2012-10-23T20:46:55.397 に答える
0

onload イベントで計算を実行して、投稿内の画像、テキストなどの読み込みが完了したことを確認できます。

<body onload="YourCalculationFunctionHere">

ページ(画像、テキストなどを含む)がロードされた後ではなく、DOMがロードされた後に実行されるため、jqueryの.ready()メソッドを計算に使用しないでください。

http://www.w3schools.com/jsref/event_onload.asp

于 2012-10-24T04:46:17.827 に答える