1

Тема: OneZero jquery plugin

Гілка javascript якась аж дуже пуста ;) Вирішив заповнити цей пробіл. Ось кльовий плагін для програмістів. Кльовий він 2ма штуками. Перша шутка це те що він робить, інша штука як.


Була собі картинка:
http://funivan.com/files/post/1/1/0/main_011/skript-dlya-spravzhnih-programistiv.jpg

Інет гудів і всі репостили. Я вирішив не зволікати і написати плагін який буде перетворювати всі слова в 0110 ітд ;)

Ось результат роботи http://funivan.com/?rundemo=onezero

Про першу штуку розказав. Друга тєма це як він це робить. Основною цікавинкою є те що ми маємо заміняти тілкьи текст на нулі і одиниці. Тобто код не рухати. Ми вибираємо ноди і за допомогою nodeType дізнаємось чи це є текстова нода. Якщо текстова нода заміняємо букви і цифри на нулі і одиниці)


/**
 * oneZero plugin for true coders 
 * 
 * How to use
 * 
 * $('html').oneZero();  //replace all chars that is valid for default regex in html node
 * 
 * $('#footer').oneZero({charsPattern:/^[0-9]$/i});  //replace all numerical chars in #footer node
 *
 *
 * @demo http://funivan.com/?rundemo=onezero
 * @author Ivan Scherbak <funivan@mail.ua>
 * @version 6/8/12 5:37 PM
 */
(function($) {
  $.fn.oneZero = function(userOptions) {
                 
    var options = {
        charsPattern : /^[a-z0-9\u0410-\u044F\u0401\u0451єїі]$/i
    }            
 
    options = $.extend(options, userOptions);
 
    var oneZeroMake = function(node){
      var nodeElements = node.contents();
      nodeElements.each(function(){
                     
        if(this.nodeType==3){
          var textArray = this.nodeValue.split("");
          for(letterIndex in textArray){
            if(options.charsPattern.test(textArray[letterIndex])){
              if(textArray[letterIndex].charCodeAt(0)%2){
                textArray[letterIndex]='1';
              }else{
                textArray[letterIndex]= '0';
              }
            }
          }
          this.nodeValue = textArray.join("");
        } else {
          oneZeroMake($(this));
        }
      })
    }
                 
    oneZeroMake($(this))
  };    
})(jQuery); 


п.с. Рега що заміняти винесена в опції, я вирішив що можуть бути араби які будуть підключати собі цей скрипт, то хай і вбиваюсь собі свою регу))

Подякували: Replace1

2

Re: OneZero jquery plugin

Гілка javascript якась аж дуже пуста

тут лише тру хайлоад бекенд задроти)

3

Re: OneZero jquery plugin

тут лише тру хайлоад бекенд задроти)

Ха-ха-ха)) насмішив. Глянь попередню гілку про "допоможіть знайти помилку" ))))) теж мені хайлоад))))