nasıl "ajaxify" do

4 Cevap php

Ben gün boyunca belirli zamanlarda görüntülemek istediğiniz divs var. Ben PHP çalışma var, ama elle tarayıcınızı yenilemeyi gerektirir. Ben zamanı geldiğinde benim komut dosyası otomatik olarak doğru div yüklemek istiyorum.

Ben doğru yolda mıyım? Belki Tazelemeye ele alabileceğinizi Bu tür bir şey için bir jquery eklentisi var mı?

Herhangi bir yardım büyük beğeni topluyor ... Teşekkürler!

<?php

$time = date("H\:i");

if (($time > "16:59") && ($time < "18:59")) {
    echo "<div>1</div>";
}

elseif (($time > "18:59") && ($time < "20:59")) {
    echo "<div>2</div>"; 
}

elseif (($time > "20:59") && ($time < "22:59")) {
    echo "<div>3</div>";    
}

 else {
    echo "<div id='out'><p>Outside the specified point in time.</p></div>";
}

?>

4 Cevap

Sen ferahlatıcı işlemek için bir jquery eklentisi gerekmez, sadece birkaç dakika / saniye denetleyen bir zamanlayıcı oluşturabilirsiniz

@ Jasie sayaçlarını söz haklıydı. O jquery zamanlayıcı belirtildiği, ancak sadece de (jQuery etiketli, bu yüzden jquery kullanmak gerekir) bu gibi, düzenli javascript sayaçlarını kullanabilirsiniz:

var timer = setInterval(function(){
    var hour = (new Date()).getHours();

    if (hour >= 17 && hour < 19) {
        var $div = $('<div>1</div>');
    } else if (hour >= 19 && hour < 21) {
        var $div = $('<div>2</div>');
    } else if (hour >= 21 && hour < 23) {
        var $div = $('<div>3</div>');
    } else {
        var $div = $("<div id='out'><p>Outside the specified point in time.</p></div>");
    }
    $div.appendTo('body');
}, 2000); // checking every 2 seconds.

Yani hile yapmak gerekir

I JQuery timer sık sık her yoklamak için kullanmak istiyorsunuz; zamanı geldiğinde, sayfadaki div içine yeni bilgiler yüklemek için bir $.load() kullanın. Yaptığın gibi sürekli istemci ve sunucu arasındaki gereksiz veri aktarımı değil, böylece, Javascript zaman çek yapmalıdır.

Sizin arka uç görüntülemek istediğiniz html, belirli bir bit dönmelidir.

Ön-uç sadece bu bilgiyi verir backend yoklama belirli bir url olmalıdır.

(Orada bunu yapmak için başka yolları vardır ama bu benim görüşüm)

Başlangıç ​​olarak, jQuery AJAX çağrısını ve basit bir js zamanlayıcı kullanarak. Sayfa "showithere" bir kimliğe sahip bir div varsa, bu PHP sayfası her 10 dakikada bir willre-yük:

<head>
<script>
​function fn () {
  alert ('now');
  $("#showithere").load ("http://jsbin.com/help/");
}
</script>
</head>

<body onLoad="setTimeout (fn, 600000);" >

​​​​​​​​​​​​​​​