jQuery制作圣誕主題頁(yè)面 更像是愛情影集
今天制作的是有飄雪效果的圣誕主題頁(yè)面,個(gè)人灰常喜歡。
首先還是放張效果圖:
當(dāng)看到這這頁(yè)面的時(shí)候我們要注意四點(diǎn):
1.圖片的輪播
2.文字的滾動(dòng)效果
3.音樂播放
4.飄雪效果
那我們就一點(diǎn)一點(diǎn)來完成吧,Go,Go!
對(duì)于上次分享的有人說我講的不夠細(xì)致,那在這篇文章我就細(xì)致一點(diǎn)。
(1)準(zhǔn)備工作
首先新建css,img,js,file這四個(gè)文件夾并新建demo.css,輪播圖片,demo.js,一首歌放在對(duì)應(yīng)文件夾,新建demo.html,并在demo.css中加入如下代碼:
*{ padding:0; margin:0; } body{ background:#000; overflow:hidden; }
這個(gè)代碼主要是為了消除默認(rèn)樣式,并設(shè)置背景顏色為黑色,溢出隱藏。
在demo.html中引入demo.css,jquery.js(網(wǎng)上搜個(gè)就可以),demo.js。
2)輪播圖制作
<div id="sdimage"> <div class="sdimg"><img src="images/100.jpg"></div> <div class="sdimg"><img src="images/101.jpg"></div> <div class="sdimg"><img src="images/103.jpg"></div> <div class="sdimg"><img src="images/104.jpg"></div> <div class="sdimg"><img src="images/105.jpg"></div> <div class="sdimg"><img src="images/106.jpg"></div> </div>
用一個(gè)大的div包裹所有的輪播圖,小的div包裹img用來定位,輪播等操作
#sdimage{ position:absolute; margin:auto 0; left:100px; top:100px;; } .sdimg{ display:none; position:absolute; }
#sdimage主要是為了定位輪播圖的位置,.sdimg是為了是圖片隱藏并使所有圖片重疊在一起。
下面說下輪播圖的js的思路:
1.顯示第一張圖片
2.設(shè)置定時(shí)器使得圖片依次顯示隱藏
3.加入動(dòng)畫效果,使得不生硬(fadeIn()和fadeOut()是淡入淡出效果)
$(function(){ var i = 0; $(".sdimg").eq(0).show().siblings().hide(); setInterval(function(){ i++; if(i>5){ i=0; } $(".sdimg").eq(i).fadeIn().siblings().fadeOut(); },3000); });
3)文字滾動(dòng)效果
<div id="sdmsg"> <marquee direction="up" scrollamount="4"> 沙揚(yáng)娜拉-贈(zèng)日本女郎 <br> ——徐志摩<br> 最是那一低頭的溫柔,<br> 象一朵水蓮花<br> 不勝?zèng)鲲L(fēng)的嬌羞,<br> 道一聲珍重,道一聲珍重,<br> 那一聲珍重里有蜜甜的憂愁——<br> 沙揚(yáng)娜拉! </marquee> </div>
額……這個(gè)突然不知道怎么說,解釋一下marquee吧。
marquee是html的標(biāo)簽,在它之中的內(nèi)容是可以滾動(dòng)的,direction設(shè)置文字滾動(dòng)的方向,scrollamount設(shè)置文字的滾動(dòng)速度。
#sdmsg{ position:absolute; width:400px; height:500px; color:#FFF; top: 100px; left: 650px; line-height:40px; }
為文字設(shè)置顯示位置,長(zhǎng)寬等。文字滾動(dòng)就這么簡(jiǎn)單的完成了。
4)音樂播放
<div><audio src="file/baihu.mp3" controls ></audio></div>
嘿嘿,一行代碼搞定。controls是為了顯示控件,播放按鈕等,這個(gè)算是個(gè)添彩的,有沒有隨你心情,當(dāng)然,你也可以將控件設(shè)置為autoplay讓它自動(dòng)播放并隱藏,這樣效果也是棒棒噠。
5)飄雪效果制作
重頭戲終于來啦!
先說下思路,具體在代碼里標(biāo)注解釋了哦:
1.我們需要雪花自屏幕上方自上而下隨機(jī)飄落,所以我們?cè)O(shè)置它的高度是-50。(這里為什么是-50呢,因?yàn)樵O(shè)置了雪花的大小在20-50之間,如果top小于50雪花大小大于50的話,雪花的出場(chǎng)方式會(huì)顯得很突兀,親們可以試試看哦)
2.這里用的是距離屏幕左邊的距離不同來控制雪花從瀏覽器上方不同位置落下。
3.這里用的是雪花結(jié)束的位置距離瀏覽器左邊的距離不同來控制他的運(yùn)動(dòng)軌跡。當(dāng)雪花飄下來的時(shí)候他的運(yùn)動(dòng)軌跡肯定是不一樣的,因?yàn)檫@樣才能顯得不死板。
4.雪花的運(yùn)動(dòng)軌跡有了,接下來就要考慮雪花下落的時(shí)間了。這里要考慮到如果屏幕被縮放成不同程度,雪花下落的速度肯定不是一成不變的。所以我們要通過瀏覽器的高度控制雪花下落的速度。
var minsize = 20; //雪花最小數(shù)值 var maxsize = 50; //雪花最大數(shù)值 var flack = $("<div></div>").css({"position":"absolute","top":"-50px"}).html("❉"); //一個(gè)雪花 $(function(){ var sdwidth = $(document).width(); //瀏覽器寬度 var sdheight = $(document).height(); //瀏覽器高度 setInterval(function(){ var startwidth = Math.random()*sdwidth; //雪花開始距離屏幕左邊隨機(jī)數(shù) var sdimg = minsize + Math.random()*(maxsize-minsize); //雪花隨機(jī)大小 var endwidth = Math.random()*sdwidth; //雪花結(jié)束距離屏幕左邊的隨機(jī)數(shù) var time = sdheight*Math.random() + 3000; //雪花降落的時(shí)間 var startoption = 0.7+0.3*Math.random(); //雪花開始降落的透明度 var endoption = 0.2 + 0.3*Math.random(); //雪花結(jié)束降落的透明度 flack.clone().appendTo($("body")).css({ //克隆雪花冰設(shè)置初始位置 "left":startwidth, "font-size": sdimg, "opacity":startoption, "color":"#fff" }).animate({ //animate,是執(zhí)行動(dòng)畫的方法,這里用來雪花從上到下飄落 "top": sdheight-30, "left": endwidth, "opacity":endoption },time,function(){ $(this).remove(); //雪花落在地上消失,移除制造出的雪花 }) },100) });
這里設(shè)置了雪花從上到下落以后的透明度是不同的。
好啦,一個(gè)美麗的圣誕主題效果頁(yè)面就做完了,希望大家喜歡。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 如何用C語言畫一個(gè)“圣誕樹”
- 圣誕節(jié),寫個(gè)程序練練手————Android 全界面懸浮按鈕實(shí)現(xiàn)
- 基于JS2Image實(shí)現(xiàn)圣誕樹代碼
- jquery實(shí)現(xiàn)漫天雪花飛舞的圣誕祝福雪花效果代碼分享
- 圣誕節(jié)Merry Christmas給博客添加浪漫的下雪效果基于jquery實(shí)現(xiàn)
- javascript 閃爍的圣誕樹實(shí)現(xiàn)代碼
- MSN圣誕照片(Backdoor.Win32.PBot.a)病毒分析解決
- 收集的10個(gè)免費(fèi)的jQuery相冊(cè)
- Android拍照保存在系統(tǒng)相冊(cè)不顯示的問題解決方法
- android照相、相冊(cè)獲取圖片剪裁報(bào)錯(cuò)的解決方法
相關(guān)文章
利用JQUERY實(shí)現(xiàn)多個(gè)AJAX請(qǐng)求等待的實(shí)例
下面小編就為大家分享一篇利用JQUERY實(shí)現(xiàn)多個(gè)AJAX請(qǐng)求等待的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2017-12-12jQuery動(dòng)態(tài)追加頁(yè)面數(shù)據(jù)以及事件委托詳解
這篇文章主要為大家詳細(xì)介紹了jQuery動(dòng)態(tài)追加頁(yè)面數(shù)據(jù)以及事件委托的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05jQuery+Cookie實(shí)現(xiàn)切換皮膚功能【附源碼下載】
這篇文章主要介紹了jQuery+Cookie實(shí)現(xiàn)切換皮膚功能,結(jié)合完整實(shí)例形式分析了jQuery結(jié)合cookie動(dòng)態(tài)變換頁(yè)面元素樣式的相關(guān)操作技巧,并附帶源碼供讀者下載參考,需要的朋友可以參考下2018-03-03jquery中的常用事件bind、hover、toggle等示例介紹
這篇文章主要介紹了jquery中常用的事件,比如$(document).ready()、bind、hover、toggle、click等等,并有示例,易于學(xué)習(xí)2014-07-07jQuery+jRange實(shí)現(xiàn)滑動(dòng)選取數(shù)值范圍特效
本文向大家介紹一款范圍選擇器插件jRange,它是基于jQuery的一款簡(jiǎn)單插件。本站之前有類似文章:jQuery+CSS使用滑塊選取價(jià)格范圍,其中不太好的地方是使用了jqueryui龐大的插件庫(kù),有興趣的朋友可以看看。下面我們來看下插件jRange的使用。2015-03-03Jquery和Js獲得元素標(biāo)簽名稱的方法總結(jié)
下面小編就為大家?guī)硪黄狫query和Js獲得元素標(biāo)簽名稱的方法總結(jié)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-10-10jquery實(shí)現(xiàn)tab鍵進(jìn)行選擇后enter鍵觸發(fā)click行為
本文主要介紹了jquery鍵盤事件實(shí)現(xiàn)tab鍵進(jìn)行選擇后enter鍵觸發(fā)click行為的方法,這種使用場(chǎng)景為當(dāng)首頁(yè)有幾個(gè)鏈接需要選擇的時(shí)候,使用鍵盤就可以進(jìn)行觸發(fā)行為。下面跟著小編一起來看下吧2017-03-03