以復(fù)選框?yàn)橹行漠a(chǎn)生波浪式動(dòng)畫效果

<h4>只需要引入一個(gè)id為lanren的div,外加js以及css即可實(shí)現(xiàn)這種效果,當(dāng)然罕拂,css3的效果仰剿,低版本瀏覽器下無(wú)法實(shí)現(xiàn),盡可能少的代碼,方便使用的html css js,才是我們追求的極致!

前言: (寫在文前的只言片語(yǔ)另绩、意書情殤)長(zhǎng)歌破曉穿云過(guò),響徹碧霄振九天.)------Jason Zhang
web開發(fā)已現(xiàn)世多年,技術(shù)成熟且學(xué)習(xí)平臺(tái)廣泛,筆者針對(duì)其中細(xì)節(jié)從本質(zhì)上進(jìn)行解釋.力求透徹.

</h4>
<h5>說(shuō)明:可以在復(fù)選框的任意點(diǎn)擊都會(huì)出現(xiàn)效果!</h5>
廢話不多說(shuō),先上效果.


波浪式動(dòng)畫.gif

首先定義一個(gè)id為lanren的div.
<pre>
<div id="lanren"></div>
</pre>
第二css也非常簡(jiǎn)單,自定義一個(gè)動(dòng)畫,詳情請(qǐng)繼續(xù)向下看∨

<pre>
.wrapper{ overflow:hidden; margin:0 auto; position:relative;}
.wrapper input{position:absolute}
.wrapper input.grow{-webkit-animation:grow 0.8s cubic-bezier(0.175,0.885,0.32,1.275);-moz-animation:grow 0.8s cubic-bezier(0.175,0.885,0.32,1.275);animation:grow 0.8s cubic-bezier(0.175,0.885,0.32,1.275)}
@-webkit-keyframes grow{
0%{-webkit-transform:scale(1)}
30%{-webkit-transform:scale(2.5)}
100%{-webkit-transform:scale(1)}
}
@-moz-keyframes grow{
0%{-moz-transform:scale(1)}
30%{-moz-transform:scale(2.5)}
100%{-moz-transform:scale(1)}
}
@keyframes grow{
0%{transform:scale(1)}
30%{transform:scale(2.5)}
100%{transform:scale(1)}
}
</pre>
到了最重要的時(shí)候了,最核心的代碼,先創(chuàng)建input復(fù)選框標(biāo)簽然后添加到div上,..詳情請(qǐng)往下面看∨
<pre>
<script>
var RES_X = 20;//橫向創(chuàng)建input

var RES_Y = 20;//豎向創(chuàng)建input
var SIZE = 22;
if (/iphone|ipad|android/ig.test(navigator.userAgent)) {
RES_X = 10;
RES_Y = 10;
SIZE = 25
}
var entities = [];
var wrapper = document.getElementById('lanren');
wrapper.className = 'wrapper';
wrapper.style.width = (RES_X * SIZE) + 'px';
wrapper.style.height = (RES_Y * SIZE) + 'px';
for (var x = 0; x < RES_X; x++) {
for (var y = 0; y < RES_Y; y++) {
var el = document.createElement('input');
el.setAttribute('type', 'checkbox');
wrapper.appendChild(el);
var entity = {
element: el,
x: x * SIZE,
y: y * SIZE
}
el.style.left = entity.x + 'px';
el.style.top = entity.y + 'px';
el.addEventListener('change', this.toggle.bind(this, entity));
entities.push(entity)
}
}
function toggle(targetEntity) {
var checked = targetEntity.element.checked;
entities.forEach(function(entity) {
var dx = targetEntity.x - entity.x;
var dy = targetEntity.y - entity.y;
var distance = Math.sqrt(dx * dx + dy * dy);
setTimeout(function() {
entity.element.checked = checked;
entity.element.className = '';
entity.element.offsetWidth;
entity.element.className = 'grow'
}, Math.round(distance * 1.8))
})
}
setTimeout(function() {
entities[0].element.checked = true;
toggle(entities[0])
}, 800);
</script>
</pre>
筆沒(méi)墨了!
欲知詳情,下節(jié)再講!!!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末儒陨,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子笋籽,更是在濱河造成了極大的恐慌蹦漠,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件干签,死亡現(xiàn)場(chǎng)離奇詭異津辩,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)容劳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門喘沿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人竭贩,你說(shuō)我怎么就攤上這事蚜印。” “怎么了留量?”我有些...
    開封第一講書人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵窄赋,是天一觀的道長(zhǎng)哟冬。 經(jīng)常有香客問(wèn)我,道長(zhǎng)忆绰,這世上最難降的妖魔是什么浩峡? 我笑而不...
    開封第一講書人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮错敢,結(jié)果婚禮上翰灾,老公的妹妹穿的比我還像新娘。我一直安慰自己稚茅,他們只是感情好纸淮,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著亚享,像睡著了一般咽块。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上欺税,一...
    開封第一講書人閱讀 50,050評(píng)論 1 291
  • 那天侈沪,我揣著相機(jī)與錄音,去河邊找鬼魄衅。 笑死峭竣,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的晃虫。 我是一名探鬼主播皆撩,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼哲银!你這毒婦竟也來(lái)了扛吞?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤荆责,失蹤者是張志新(化名)和其女友劉穎滥比,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體做院,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡盲泛,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了键耕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片寺滚。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖屈雄,靈堂內(nèi)的尸體忽然破棺而出村视,到底是詐尸還是另有隱情,我是刑警寧澤酒奶,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布蚁孔,位于F島的核電站奶赔,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏杠氢。R本人自食惡果不足惜站刑,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望鼻百。 院中可真熱鬧笛钝,春花似錦、人聲如沸愕宋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)中贝。三九已至,卻和暖如春臼朗,著一層夾襖步出監(jiān)牢的瞬間邻寿,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工视哑, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留绣否,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓挡毅,卻偏偏與公主長(zhǎng)得像蒜撮,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子跪呈,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案段磨? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,741評(píng)論 1 92
  • 請(qǐng)參看我github中的wiki,不定期更新耗绿。https://github.com/ivonzhang/Front...
    zhangivon閱讀 7,118評(píng)論 2 19
  • <a name='html'>HTML</a> Doctype作用苹支?標(biāo)準(zhǔn)模式與兼容模式各有什么區(qū)別? (1)、<...
    clark124閱讀 3,462評(píng)論 1 19
  • 滿山白花亂浮云误阻, 釆艾當(dāng)須湊良晨债蜜。 端午節(jié)里記屈原, 粽香應(yīng)為祭先人究反。 江湖遠(yuǎn)寻定,水亦渾, 楚鄉(xiāng)舊俗留遺恨奴紧。 長(zhǎng)飲一...
    曹煥甫閱讀 266評(píng)論 1 0
  • 視頻采集需要用到的類GPUImageVideoCamera 要實(shí)現(xiàn)的功能:1黍氮、實(shí)現(xiàn)視頻的錄制2唐含、實(shí)現(xiàn)錄制過(guò)程中對(duì)視...
    7dfa9c18c1d1閱讀 1,677評(píng)論 5 0