思路是利用jquery的scroll事件 然后判斷scrollTop是否到達了該元素的位置
成都創新互聯是專業的正寧網站建設公司,正寧接單;提供網站設計、成都做網站,網頁設計,網站設計,建網站,PHP網站建設等專業做網站服務;采用PHP框架,可快速的進行正寧網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,專業的做網站團隊,希望更多企業前來合作!
HTML5是HTML的升級版,HTML5有兩大特點:首先,強化了 Web 網頁的表現性能。其次,追加了本地數據庫等 Web
應用的功能。廣義論及HTML5時,實際指的是包括HTML、CSS和JavaScript在內的一套技術組合。今天我們推薦8款使用HTML5生成的特
殊效果,希望可以對大家的使用帶來幫助!
HTML5實現的五子棋游戲
在線演示
這是一款使用HTML5實現的五子棋特效,與計算機的對局你不見得能次次都贏得勝利,不信可以點擊在線演示。
一款不需要視頻文件的視頻播放器-Frame player
在線演示
HTML5視頻是非常棒的,它可以很容易的用在多款設備上。但是它也有自己的問題,比如移動設備的播放器,可能有不同版本不兼容的情況。今天我們介紹這款視頻播放器完善了之前的效果,用起來更方便。希望大家喜歡!
3D菜單
在線演示
或許在現如今這個科技發達的時代,在線點餐已不是新鮮事。餐廳可以對Menu進行設計,點擊菜名會相應彈出菜品的照片,或者還可以增加卡路里,原材料和客戶們的評價等。絕對是一個超時髦的創意!
用HTML5的畫布實現撕布的動畫效果
在線演示
用HTML5的畫布實現撕布的效果,滑動鼠標,布會隨著鼠標變動。點擊鼠標左鍵,然后滑動鼠標,布就會被割開。如果你還沒有查看過這款演示效果,那絕對逼真的讓你震撼!
HTML5 Canvas(畫布) 基礎使用和介紹
在線下載
還記得在過去的Web前端開發中,如果你需要繪圖或者生成相關圖形的話,使用Flash可能是你唯一或者說最強大的實現方式,而在近些年的技術
熱點HTML5標準中,HTML
Canvas(畫布)能夠更加方便的幫助你實現2D繪制圖形圖像及其各種動畫效果功能。在今天的這篇技術教程中我們將介紹基本的Canvas使用,希望大
家覺得有幫助!
HTML5畫布生成的2D光源效果
在線演示
超金屬的背景,仿佛探照燈的經過讓他看上去更加的立體。這是一款使用HTML5 Canvas生成的2D光源效果。絕對讓你不后悔使用它!
HTML5的Flappy bird實現
在線演示
著名的Flappy Bird,相信知道的人一定不少吧,點擊你的空格,不要讓它掉下來,看看你最終的成績有多好。發上來我們切磋一下吧.
Sonic - 循環加載的利器
在線演示1 在線演示2 在線演示3
Sonic是一個不到3k,非常小的JS類庫,你可以用這個類庫來創建自定義的加載動畫。它的循環動畫效果非常贊,比如你可以用它做一條不斷追
逐自己尾巴
的蛇,這樣的動畫。Sonic使用了HTML5的canvas元素和其相關API。它基于在一定小的時間間隔上,基于預定義的路徑,畫出下一個形狀,從而
完成動畫效果。你可以使用arc,bezier,或line的方法來定義路徑。
html5:
用于繪畫的 canvas 元素
用于媒介回放的 video 和 audio 元素
對本地離線存儲的更好的支持
新的特殊內容元素,比如 article、footer、header、nav、section
新的表單控件,比如 calendar、date、time、email、url、search
css3:
1. CSS3實現圓角(border-radius),陰影(box-shadow),
2. 對文字加特效(text-shadow、),線性漸變(gradient),旋轉(transform)
3. transform:rotate(9deg) scale(0.85,0.90) translate(0px,-30px) skew(-9deg,0deg);// 旋轉,縮放,定位,傾斜
4. 增加了更多的CSS選擇器 多背景 rgba
5. 在CSS3中唯一引入的偽元素是 ::selection.
6. 媒體查詢,多欄布局
7. border-image
CSS3除了為開發者提供二維變形之外,還將動畫從二維平面推動到了三維立體狀態,能夠實現真正的三維特效。
三維變形和二維變形一樣,均使用的是transform屬性。想要觸發三維變形有兩種方式:一種方式是通過語法告知瀏覽器“請采用三維方式進行變形處理”,另一種方式是直接使用CSS3三維變形的語法。
觸發方法1:告知瀏覽器變形方式
-webkit-transform-style:preserve-3d;
Tips:IE不支持三維變形,在移動端,絕大多數的瀏覽器均為WebKit內核,因此,在此句代碼之前需要書寫-webkit-的前綴內核。
Tips:不要為body元素設置-webkit- transform-style: preserve 3d,否則會對position:fixed定位的元素造成布局影響。在開發當中,如果當前元素屬于body的子級元素,又希望應用三維變形,則在body和當前元素之間多嵌套一層結構,并為這層元素應用三維變形即可。
觸發方法2:直接使用CSS3變形語法
!DOCTYPE?html
head
meta?charset="UTF-8"
title言成科技/title
style
.box1?{
width:?150px;
height:?150px;
border:?2px?solid?blue;
}
.box1?div?{
height:?150px;
background:?rgba(0,?0,?0,?0.5);
-webkit-transform:?translate3d(30px,?60px,?20px)?rotateX(30deg);
transform:?translate3d(30px,?60px,?20px)?rotateX(30deg);
}
/style
/head
body
div?class="box1"
div/div
/div
/body
/html
具體三維變形的具體屬性詳見《CSS3-3D相關知識詳解—視角以及變形方向》
3D效果制作
需求
制作一個立方體,并進行旋轉
代碼實例
!DOCTYPE?HTML
html
head
meta?charset="utf-8"?/
title言成科技/title
link?rel="stylesheet"?type="text/css"?href=""?/
style
.main-bac?{?-webkit-perspective:1500;?}?/*設定透視距離*/
.main{
width:200px;?
height:200px;?
margin:?0?auto;
position:relative;
-webkit-transform-style:preserve-3d;
-webkit-transition:-webkit-transform?2s?ease?0s;/*過渡時間*/
}
/*基本樣式*/
.main?p{
position:?absolute;?
margin:?0;?
padding:?0;?
width:?200px;?
height:?200px;??
text-align:?center;?
line-height:?200px;?
font-size:?26px;?
opacity:0.5;
}
/*將第一個元素Z軸向前移動100px,形成第一個面(正面)*/
.main?p:nth-of-type(1)?{
background-color:red;
-webkit-transform:translateZ(100px);
}
/*將第一個元素Z軸向前移動100px,繞x軸旋轉90度形成上面的面*/
.main?p:nth-of-type(2)?{
background-color:orange;?
-webkit-transform:rotateX(90deg)?translateZ(100px);
}
/*將第一個元素Z軸向前移動100px,繞x軸旋轉-90度形成下邊的面*/
.main?p:nth-of-type(3)?{
background-color:yellow;
-webkit-transform:rotateX(-90deg)?translateZ(100px);
}
/*將第一個元素Z軸向前移動100px,繞y軸旋轉90度形成右側的面*/
.main?p:nth-of-type(4)?{
background-color:green;
-webkit-transform:rotateY(90deg)?translateZ(100px);
}
/*將第一個元素Z軸向前移動100px,繞y軸旋轉-90度形成左側的面*/
.main?p:nth-of-type(5)?{
background-color:#b435bf;
-webkit-transform:rotateY(-90deg)?translateZ(100px);
}
/*將第一個元素Z軸向前移動100px,繞y軸旋轉180度形成后面(背面)*/
.main?p:nth-of-type(6)?{
background-color:blue;
-webkit-transform:rotateY(180deg)?translateZ(100px);
}
/*鼠標移入時繞Y軸旋轉180度,繞Z軸旋轉180度*/
.main:hover?{-webkit-transform:rotateY(180deg)?rotateZ(180deg);?}???
/style
/head
body
div?class="main-bac"
div?class="main"
p言成科技/p
p3D立方體/p
pHTML5學堂/p
p3D立方體/p
p碼匠/p
pJavaScript/p
/div??????????????
/div
/body
/html
代碼解析
當鼠標移入的時候,立方體逐漸的發生旋轉(非突變),圍繞X軸旋轉45度的同時,圍繞Y軸旋轉45度。
當鼠標移出立方體時,立方體恢復到初始狀態。在最開始狀態時,并沒有采用無限遠的視角,設置一定的視角,讓剛開始時直視立方體時,不會覺得是一個平面。
3D效果制作-目標效果圖
以上資料來源:《HTML5布局之路》
主要思想:
首先要準備一張有連續幀的圖片,然后利用HTML5 Canvas的draw方法在不同的時間間隔繪制不同的幀,這樣看起來就像動畫在播放。
關鍵技術點:
JavaScript 函數setTimeout()有兩個參數,第一個是參數可以傳遞一個JavaScript方法,
另外一個參數代表間隔時間,單位為毫秒數。代碼示例:
setTimeout( update, 1000/30);
Canvas的API-drawImage()方法,需要指定全部9個參數:
ctx.drawImage(myImage, offw, offh, width,height, x2, y2, width, height);
其中offw, offh是指源圖像的起始坐標點,width, height表示源圖像的寬與高,x2,y2表
示源圖像在目標Canvas上的起始坐標點。
!DOCTYPE?html?
html?
head?
meta?http-equiv="X-UA-Compatible"?content="chrome=IE8"?
meta?http-equiv="Content-type"?content="text/html;charset=UTF-8"?
titleCanvas?Mouse?Event?Demo/title?
link?href="default.css"?rel="stylesheet"?/?
script?
var?ctx?=?null;?//?global?variable?2d?context?
var?started?=?false;?
var?mText_canvas?=?null;?
var?x?=?0,?y?=0;?
var?frame?=?0;?//?22?5*5?+?2?
var?imageReady?=?false;?
var?myImage?=?null;?
var?px?=?300;?
var?py?=?300;?
var?x2?=?300;?
var?y2?=?0;?
window.onload?=?function()?{?
var?canvas?=?document.getElementById("animation_canvas");?
console.log(canvas.parentNode.clientWidth);?
canvas.width?=?canvas.parentNode.clientWidth;?
canvas.height?=?canvas.parentNode.clientHeight;?
if?(!canvas.getContext)?{?
console.log("Canvas?not?supported.?Please?install?a?HTML5?compatible?browser.");?
return;?
}?
//?get?2D?context?of?canvas?and?draw?rectangel?
ctx?=?canvas.getContext("2d");?
ctx.fillStyle="black";?
ctx.fillRect(0,?0,?canvas.width,?canvas.height);?
myImage?=?document.createElement('img');?
myImage.src?=?"../robin.png";?
myImage.onload?=?loaded();?
}?
function?loaded()?{?
imageReady?=?true;?
setTimeout(?update,?1000/30);?
}?
function?redraw()?{?
ctx.clearRect(0,?0,?460,?460)?
ctx.fillStyle="black";?
ctx.fillRect(0,?0,?460,?460);?
//?find?the?index?of?frames?in?image?
var?height?=?myImage.naturalHeight/5;?
var?width?=?myImage.naturalWidth/5;?
var?row?=?Math.floor(frame?/?5);?
var?col?=?frame?-?row?*?5;?
var?offw?=?col?*?width;?
var?offh?=?row?*?height;?
//?first?robin?
px?=?px?-?5;?
py?=?py?-?5;?
if(px??-50)?{?
px?=?300;?
}?
if(py??-50)?{?
py?=?300;?
}?
//var?rate?=?(frame+1)?/22;?
//var?rw?=?Math.floor(rate?*?width);?
//var?rh?=?Math.floor(rate?*?height);?
ctx.drawImage(myImage,?offw,?offh,?width,?height,?px,?py,?width,?height);?
//?second?robin?
x2?=?x2?-?5;?
y2?=?y2?+?5;?
if(x2??-50)?{?
x2?=?300;?
y2?=?0;?
}?
ctx.drawImage(myImage,?offw,?offh,?width,?height,?x2,?y2,?width,?height);?
}?
function?update()?{?
redraw();?
frame++;?
if?(frame?=?22)?frame?=?0;?
setTimeout(?update,?1000/30);?
}?
/script?
/head?
body?
h1HTML?Canvas?Animations?Demo?-?By?Gloomy?Fish/h1?
prePlay?Animations/pre?
div?id="my_painter"?
canvas?id="animation_canvas"/canvas?
/div?
/body?
/html
網站名稱:html5展示特效的簡單介紹
網站路徑:http://vcdvsql.cn/article44/dsdishe.html
成都網站建設公司_創新互聯,為您提供云服務器、網站設計、品牌網站制作、建站公司、手機網站建設、品牌網站設計
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯