css3制作广告栏效果的疑问?
【整理】原文:https://segmentfault.com/a/1190000007087701
?本人新手,國(guó)慶苦逼加無(wú)用班,那是我在夕陽(yáng)下的奔跑嗎?閑來無(wú)聊整理以前學(xué)習(xí)的資料,關(guān)于廣告欄的效果制作,詳情觀看[這里][1]。其中用了一個(gè)作者自己寫的move.js插件也就是移動(dòng)動(dòng)畫完成(重點(diǎn)就是定時(shí)器setinterval如果有人有代碼歡迎送上);另一個(gè)就是用jq完成,下面主要說說jquery的實(shí)現(xiàn)方法吧。
jquery實(shí)現(xiàn)的重點(diǎn)就是animate方法,這是[官網(wǎng)][2]。
> **定義和用法**
> animate() 方法執(zhí)行 CSS 屬性集的自定義動(dòng)畫。
> 該方法通過CSS樣式將元素從一個(gè)狀態(tài)改變?yōu)榱硪粋€(gè)狀態(tài)。CSS屬性值是逐漸改變的,這樣就可以創(chuàng)建動(dòng)畫效果。
> **語(yǔ)法 1**
> `$(selector).animate(styles,speed,easing,callback)`
廢話少說,下面是詳細(xì)代碼:
dom結(jié)構(gòu):
1 <div class="dbmove" id="dbmove"></div> 2 <a href="javascript:void(0)" class="dbhide" id="dbhide"></a> 3 <a href="javascript:void(0)" class="dbshow" id="dbshow"></a> 4 css:(dbshow,dohide類似) 5 .dbmove { 6 background: url("db.png") no-repeat 0 0; 7 width: 0px; 8 height: 33px; 9 float: left; 10 } 11 jquery: 12 $(document).ready(function () { 13 $('#dbshow').click(function () { 14 $(this).hide(); 15 $('#dbmove').animate({width: 150}, 500, function () { 16 $('#dbhide').show(); 17 }) 18 }) 19 20 $('#dbhide').click(function () { 21 $(this).hide(); 22 $('#dbmove').animate({width: 0}, 500, function () { 23 $('#dbshow').show(); 24 }) 25 }) 26 })?
![圖片描述][3]這個(gè)是圖片資源大家意淫一下效果吧,點(diǎn)擊展開,點(diǎn)擊收起。
**下面進(jìn)入重點(diǎn):CSS3動(dòng)畫的實(shí)現(xiàn)?**
寫完了想用css實(shí)現(xiàn)一個(gè)這樣的功能,之后進(jìn)行了簡(jiǎn)單的百度和嘗試,代碼如下:
?
第一個(gè)想到的自然是keyframes動(dòng)畫,以前也就聽過,并沒有寫過這樣的代碼。經(jīng)過一段嘗試最終失敗,現(xiàn)在的效果是默認(rèn)動(dòng)畫執(zhí)行一次但是不知道怎么用JS通過點(diǎn)擊控制,并且最終動(dòng)畫會(huì)還原,不符合預(yù)想。希望有人看到來繼續(xù)完成吧,隨記!
最后附上:[JS動(dòng)畫比CSS3動(dòng)畫性能誰(shuí)更好?][4]
[CSS3 動(dòng)畫][5]
[1]: http://www.imooc.com/learn/22
[2]: http://api.jquery.com/animate/
[3]: /img/bVDTYJ
[4]: https://www.zhihu.com/question/33686030
[5]: http://www.w3school.com.cn/css3/css3_animation.asp
總結(jié)
以上是生活随笔為你收集整理的css3制作广告栏效果的疑问?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: table 鼠标移上去改变单元格边框颜色
- 下一篇: chrome 开发者工具,查看元素 ho