on beş saniye boyunca ekran görüntü ve komut çalıştırma

1 Cevap php

Bu benim geçen gün sordum ama benim sayfa kodu önemli ölçüde daha karmaşık hale geldi ve ben onu tekrar gereken bir soruya çok benzer. Ben aşağıdaki kodu kullanarak oldum:

$('#myLink').click(function() {
  $('#myImg').attr('src', 'newImg.jpg');
  setTimeout(function() { $('#myImg').attr('src', 'oldImg.jpg'); }, 15000);
});

Bağlantı tıklandığında zaman (15 saniye) bir süre için bir görüntüyü değiştirmek için, sonra 15 saniye sonra, orijinal görüntüye dönmek.

Ancak şimdi, ben bağlantı (görüntü yerine ek olarak) tıklandığında de javascript bir pasajı çalıştırmak istiyorum, ve bağlantı tıklandığında sadece zaman (o 15 saniyelik görüntü ile alakalı) ve daha sonra JS 15 saniye ... ancak ben sayfanın içine jquery gönder js kodu var nasıl emin değilim sonra kod yanı yok ... Temelde sadece 15 saniye altında sayfa üzerine bu kodu "echo" için jQuery isterken ben orada değilim, ama nasıl jquery biçimleri bu "echo" Bilmiyorum.

Bu soru mantıklı mı?

  interval = 500;
  imgsrc = "webcam/image.jpg";

  function Refresh() {
     tmp = new Date(); 
     tmp = "?" + tmp.getTime();
     document.images["image1"].src = imgsrc + tmp;
     setTimeout("Refresh()", interval);
  }

Refresh(); It's script for a webcam. Basically it takes a new picture every half a second and replaces it on the page. You must forgive me, I'm new to jquery, I don't know how to make this script work in a jquery context.

Üzgünüm, ben kötü anlatıyorum. Bu ben, ne adım adım için gerekenler:

  1. Kullanıcı sayfa geliyor ve "web kamerası görüntülemek için buraya tıklayın" diyor statik bir görüntü var
  2. Kullanıcı resmini tıkladığında
  3. Resim benim soru, ikinci komut dosyası tarafından her 0,5 saniyede bir yenilenir canlı web kamerası görüntüsü ile değiştirilir.
  4. 15 saniye sonra canlı web kamerası "kamerası görüntülemek için buraya tıklayın" diyerek statik görüntüye geri döner

Aksi bile gösterilmeyen bir öğe üzerinde bant genişliği harcıyor, ben kamerası yenileme betik çalışmaya wan o 15 saniye aralığında SADECE. Karışıklık için özür dilerim.

1 Cevap

Bu (muhtemelen onlar sayfasını yapmamışlar eğer tespit deneyebilirsiniz gerçi (I) sana bunu nasıl herhangi bir öneriniz veremem) ... sizin için hile yapmak gerekir

var myLink = $('#myLink');
var myImg = $('#myImg');

myLink.click(function() {
   // makes sure this can only run once per 15sec
   myLink.attr('disabled', 'disabled');

   var start = new Date();
   var interval = null;

   function refresh() {
      var current = new Date();
      if (current.getTime() - start.getTime() > 15000) { // max time in miliseconds
          //stops refresh
          clearInterval(interval);

          // lets them click on the link again
          myLink.attr('disabled', '');

          // resets the old img
          myImg.attr('src', 'oldImg.jpg');
      } else {
          // should be obvious
          myImg.attr('src', 'webcam/image.jpg?t=' + current.getTime()); 
      }
   }

   // refreshes page
   interval = setInterval(refresh, 500);

   refresh(); // don't wait for the first 1/2 second
});