丟棄prototype,開始mootools吧

來源:互聯網
上載者:User

以下的代碼均轉自:http://www.chromasynthetic.com/blog/how-well-do-you-know-mootools/114/,也算是一個mootools v1.11 的入門小記吧!

 

第一:

document.getElementById('foo');

 

>$('foo');

 

第二:

var woot = $('bar').value;

 

>var woot = $('bar').getValue();

 

第三:

$('footer').style.height = '100px';

$('footer').style.background = '#ffc';

 

>$('footer').setStyles({

  height: '100px',

  background: '#ffc'

  });

 

第四:

$('coolestWidgetEver').innerHTML = 'some nifty content';

 

>$('coolestWidgetEver').setHTML('some nifty content');    

//1.2這個更出色:$('coolestWidgetEver').set('html','some nifty content');

 

第五:

new Ajax('ninja.php?weapon1=foo&weapon2=bar');

 

>new Ajax('ninja.php', {

  data: {

    weapon1: 'foo',

    weapon2: 'bar'

  }

  });

 

第六:

new Ajax('blah.php', {

  method: 'post',

  async: true,

  encoding: 'UTF-8',

  headers: {'contentType': 'application/x-www-form-urlencoded'}

});

 

>new Ajax('blah.php');

 

第七:

$('myContainer').onclick = doSomeMagic;

 

>$('myContainer').addEvent('click', doSomeMagic);

 

第八:

$$('div.hidden').each(function(el){

  el.removeClass('hidden');

})

 

>$$('div.hidden').removeClass('hidden');

 

第九:

$$('div.collapsed').each(function(el){

  el.addEvent('click', expand);

});

 

>$$('div.collapsed').addEvent('click', expand);

 

第十:

$$('input.date').addEvent('focus', onFocus);

$$('input.date').addEvent('blur', onBlur);

 

>$$('input.date').addEvents({

  'focus': onFocus,

  'blur': onBlur

   });

 

第十一:

$('productTable').innerHTML = 

  $('productTable').innerHTML + 

  '<tr><td>' + productId + ' '

  + productName + '</td></tr><tr><td>' 

  + productId + ' ' + productPrice + 

  '</td></tr>';

 

>var template = '<tr><td>#{id} #{name}</td></tr><tr><td>#{id} #{price}</td></tr>';

$('productTable').injectHTML(template.interpolate({

  id: productId,

  name: productName,

  price: productPrice 

  }));

 

另外給大家推薦一個對mootools功能擴充的網站:http://www.clientcide.com/js,mootools我認為更比色的是可以根據自已的需求拼裝它.而prototype在這方面對剛入門的兄弟來說有點累了!不得不為了少許功能載入一個胖大的prototype.

 

下面是來自:http://www.clientcide.com/js的一個ajax request queue的樣本:

1.

普通的mootools v1.2的ajax request

            var comment=new Request.HTML({

                     url:'/dynamicquery.asp',

                     method:'get',

                     data:{tag:1},

                     update:$('commentn')

            });             

            var resume=new Request.HTML({

                     url:'/dynamicquery.asp',

                     method:'get',

                     data:{tag:4},

                     update:$('resumen')

            });

2.一個擴充自Request的Queue類

            var dynamicQueue=new Request.Queue();            

            dynamicQueue.addRequests({

                     'comment':comment,

                     'resume':resume                     

            });          

3.發送

            comment.send();

            resume.send();

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.