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

  • DrePwn

    DrePwn

    22 Temmuz 2011
  • michellefeng's channel

    michellefeng

    26 Kasım 2006
  • Sean Murphy

    Sean Murphy

    4 ŞUBAT 2009