SORU
3 AĞUSTOS 2009, PAZARTESİ


div ne zaman bir eylemi tetiklemek için bir WordPress kullanmak olay görünür hale

Benim sitedeki jQuery kullanıyorum ve belirli bir div görünür yapıldığında belirli eylemleri tetiklemek için istiyorum.

Eklemek mümkün bir tür "" olay keyfi divs işleyicisi ve onlar div görünür yapıldığında bazı kod çalıştırmak? görünür oldu

Aşağıdaki sözde kod gibi bir şey istiyorum:

$(function() {
  $('#contentDiv').isvisible(function() {
    alert("do something");
  });
});

("Bir şey yapmak") kod contentDiv aslında görünür hale gelene kadar ateş gerekir. uyarı

Teşekkürler.

CEVAP
4 AĞUSTOS 2009, Salı


Her zaman bir şey göstermek ya da eğer eski kod ile çalışmanız gerekiyorsa: olaylar her zaman tetikleyici gerek yok yani .show() orijinal yöntemi ekleyebilirsiniz

Bir WordPress kullanmak uzantısı:

jQuery(function($) {

  var _oldShow = $.fn.show;

  $.fn.show = function(speed, oldCallback) {
    return $(this).each(function() {
      var obj         = $(this),
          newCallback = function() {
            if ($.isFunction(oldCallback)) {
              oldCallback.apply(obj);
            }
            obj.trigger('afterShow');
          };

      // you can trigger a before show if you want
      obj.trigger('beforeShow');

      // now use the old function to show the element passing the new callback
      _oldShow.apply(obj, [speed, newCallback]);
    });
  }
});

Kullanım örneği:

jQuery(function($) {
  $('#test')
    .bind('beforeShow', function() {
      alert('beforeShow');
    }) 
    .bind('afterShow', function() {
      alert('afterShow');
    })
    .show(1000, function() {
      alert('in show callback');
    })
    .show();
});

Bu etkili hala orijinal normal davranış yürütülürken bir şey beforeShow ve afterShow yapmanızı sağlar .() yöntem.

Ayrıca orijinal geçersiz kılmak zorunda değilsiniz, bu yüzden başka bir yöntem oluşturabilirsiniz .() yöntem.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Day9TV

    Day9TV

    22 NİSAN 2010
  • EminemVEVO

    EminemVEVO

    12 Mayıs 2009
  • Shaollin Animes

    Shaollin Ani

    19 HAZİRAN 2013