Я новичок в JQuery и сталкиваюсь с проблемой при обновлении div, используя следующий скрипт

{amp}lt; script {amp}gt; $(document).ready( function() { setInterval(function() { $("#dbq").load("dbqtest.php"); }, 10000); //Delay here = 10 sec }); {amp}lt;/script{amp}gt; 
 {amp}lt;?php echo '{amp}lt;section class="col-lg-6" id="dbq"{amp}gt;'; echo '{amp}lt;p{amp}gt;My Section {amp}lt;/p{amp}gt;'; echo '{amp}lt;/section{amp}gt;'; ?{amp}gt; 

Раздел, который я пытаюсь обновить, объявлен ниже

Проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда страница загружается в первый раз, таблица из «dbqtest.php» не отображается в течение первых 10 секунд. и мой раздел остается там даже после загрузки данных из «dbqtest.php»

Вам нужна обертка для перезагрузки section . Что-то вроде этого должно работать:

 {amp}lt;script{amp}gt; $(document).ready( function() { setInterval(function() { $("#dbq-wrapper").load("dbqtest.php"); }, 10000); //Delay here = 10 sec }); {amp}lt;/script{amp}gt; 

И HTML:

 {amp}lt;div id="dbq-wrapper"{amp}gt; {amp}lt;section class="col-lg-6" id="dbq"{amp}gt; {amp}lt;p{amp}gt;My Section {amp}lt;/p{amp}gt; {amp}lt;/section{amp}gt; {amp}lt;/div{amp}gt; 

Тем не менее, вы можете использовать div внутри section и перезагружать в него данные и использовать section качестве родительского, в любом случае вам нужна оболочка.


Как вы хотите, чтобы в первый раз загрузить без задержки, решение выглядит примерно так:

 {amp}lt; script {amp}gt; function dbqLoader { $("#dbq").load("dbqtest.php"); } $(document).ready(function() { dbqLoader(); // for first time. function() { setInterval(function() {dbqLoader();}, 10000); // Loop with Delay }); }); {amp}lt;/script{amp}gt; 

Это должно быть так:

 {amp}lt;script{amp}gt; $(document).ready(function() { $("#dbq").load("dbqtest.php"); setInterval(function() { $("#dbq").load("dbqtest.php"); }, 10000); }); {amp}lt;/script{amp}gt; 

Это очень похоже на ответ М. Абуали, но я исправил некоторые проблемы и свел их к минимуму.