这款HTML5树叶飘落动画是基于webkit内核的,也就是说要在webkit内核的浏览器上才能使用这款动画。
源码下载 演示地址
HTML代码
XML/HTML Code复制内容到剪贴板- <div id="container">
- <!-- The container is dynamically populated using the init function in leaves.js -->
- <!-- Its dimensions and position are defined using its id selector in leaves.css -->
- <div id="leafContainer"></div>
- <!-- its appearance, dimensions, and position are defined using its id selector in leaves.css -->
- <div id="message">
- <em>这是基于webkit的落叶动画</em>
- </div>
- </div>
CSS代码
CSS Code复制内容到剪贴板- #container {
- position: relative;
- height: 700px;
- width: 500px;
- margin: 10px auto;
- overflow: hidden;
- border: 4px solid #5C090A;
- background: #4E4226 url('images/backgroundLeaves.jpg') no-repeat top left;
- }
- /* Defines the position and dimensions of the leafContainer div */
- #leafContainer
- {
- position: absolute;
- width: 100%;
- height: 100%;
- }
- /* Defines the appearance, position, and dimensions of the message div */
- #message
- {
- position: absolute;
- top: 160px;
- width: 100%;
- height: 300px;
- background:transparent url('images/textBackground.png') repeat-x center;
- color: #5C090A;
- font-size: 220%;
- font-family: 'Georgia';
- text-align: center;
- padding: 20px 10px;
- -webkit-box-sizing: border-box;
- -webkit-background-size: 100% 100%;
- z-index: 1;
- }
- p {
- margin: 15px;
- }
- a
- {
- color: #5C090A;
- text-decoration: none;
- }
- /* Sets the color of the "Dino's Gardening Service" message */
- em
- {
- font-weight: bold;
- font-style: normal;
- }
- .phone {
- font-size: 150%;
- vertical-align: middle;
- }
- /* This CSS rule is applied to all div elements in the leafContainer div.
- It styles and animates each leafDiv.
- */
- #leafContainer > div
- {
- position: absolute;
- width: 100px;
- height: 100px;
- /* We use the following properties to apply the fade and drop animations to each leaf.
- Each of these properties takes two values. These values respectively match a setting
- for fade and drop.
- */
- -webkit-animation-iteration-count: infinite, infinite;
- -webkit-animation-direction: normal, normal;
- -webkit-animation-timing-function: linear, ease-in;
- }
- /* This CSS rule is applied to all img elements directly inside div elements which are
- directly inside the leafContainer div. In other words, it matches the 'img' elements
- inside the leafDivs which are created in the createALeaf() function.
- */
- #leafContainer > div > img {
- position: absolute;
- width: 100px;
- height: 100px;
- /* We use the following properties to adjust the clockwiseSpin or counterclockwiseSpinAndFlip
- animations on each leaf.
- The createALeaf function in the Leaves.js file determines whether a leaf has the
- clockwiseSpin or counterclockwiseSpinAndFlip animation.
- */
- -webkit-animation-iteration-count: infinite;
- -webkit-animation-direction: alternate;
- -webkit-animation-timing-function: ease-in-out;
- -webkit-transform-origin: 50% -100%;
- }
- /* Hides a leaf towards the very end of the animation */
- @-webkit-keyframes fade
- {
- /* Show a leaf while into or below 95 percent of the animation and hide it, otherwise */
- 0% { opacity: 1; }
- 95% { opacity: 1; }
- 100% { opacity: 0; }
- }
- /* Makes a leaf fall from -300 to 600 pixels in the y-axis */
- @-webkit-keyframes drop
- {
- /* Move a leaf to -300 pixels in the y-axis at the start of the animation */
- 0% { -webkit-transform: translate(0px, -50px); }
- /* Move a leaf to 600 pixels in the y-axis at the end of the animation */
- 100% { -webkit-transform: translate(0px, 650px); }
- }
- /* Rotates a leaf from -50 to 50 degrees in 2D space */
- @-webkit-keyframes clockwiseSpin
- {
- /* Rotate a leaf by -50 degrees in 2D space at the start of the animation */
- 0% { -webkit-transform: rotate(-50deg); }
- /* Rotate a leaf by 50 degrees in 2D space at the end of the animation */
- 100% { -webkit-transform: rotate(50deg); }
- }
- /* Flips a leaf and rotates it from 50 to -50 degrees in 2D space */
- @-webkit-keyframes counterclockwiseSpinAndFlip
- {
- /* Flip a leaf and rotate it by 50 degrees in 2D space at the start of the animation */
- 0% { -webkit-transform: scale(-1, 1) rotate(50deg); }
- /* Flip a leaf and rotate it by -50 degrees in 2D space at the end of the animation */
- 100% { -webkit-transform: scale(-1, 1) rotate(-50deg); }
- }
JavaScript代码
JavaScript Code复制内容到剪贴板- /* Define the number of leaves to be used in the animation */
- const NUMBER_OF_LEAVES = 30;
- /*
- Called when the "Falling Leaves" page is completely loaded.
- */
- function init()
- {
- /* Get a reference to the element that will contain the leaves */
- var container = document.getElementById('leafContainer');
- /* Fill the empty container with new leaves */
- for (var i = 0; i < NUMBER_OF_LEAVES; i++)
- {
- container.appendChild(createALeaf());
- }
- }
- /*
- Receives the lowest and highest values of a range and
- returns a random integer that falls within that range.
- */
- function randomInteger(low, high)
- {
- return low + Math.floor(Math.random() * (high - low));
- }
- /*
- Receives the lowest and highest values of a range and
- returns a random float that falls within that range.
- */
- function randomFloat(low, high)
- {
- return low + Math.random() * (high - low);
- }
- /*
- Receives a number and returns its CSS pixel value.
- */
- function pixelValue(value)
- {
- return value + 'px';
- }
- /*
- Returns a duration value for the falling animation.
- */
- function durationValue(value)
- {
- return value + 's';
- }
- /*
- Uses an img element to create each leaf. "Leaves.css" implements two spin
- animations for the leaves: clockwiseSpin and counterclockwiseSpinAndFlip. This
- function determines which of these spin animations should be applied to each leaf.
- */
- function createALeaf()
- {
- /* Start by creating a wrapper div, and an empty img element */
- var leafDiv = document.createElement('div');
- var image = document.createElement('img');
- /* Randomly choose a leaf image and assign it to the newly created element */
- image.src = 'images/realLeaf' + randomInteger(1, 5) + '.png';
- leafDiv.style.top = "-100px";
- /* Position the leaf at a random location along the screen */
- leafDiv.style.left = pixelValue(randomInteger(0, 500));
- /* Randomly choose a spin animation */
- var spinAnimationName = (Math.random() < 0.5) ? 'clockwiseSpin' : 'counterclockwiseSpinAndFlip';
- /* Set the -webkit-animation-name property with these values */
- leafDiv.style.webkitAnimationName = 'fade, drop';
- image.style.webkitAnimationName = spinAnimationName;
- /* Figure out a random duration for the fade and drop animations */
- var fadeAndDropDuration = durationValue(randomFloat(5, 11));
- /* Figure out another random duration for the spin animation */
- var spinDuration = durationValue(randomFloat(4, 8));
- /* Set the -webkit-animation-duration property with these values */
- leafDiv.style.webkitAnimationDuration = fadeAndDropDuration + ', ' + fadeAndDropDuration;
- var leafDelay = durationValue(randomFloat(0, 5));
- leafDiv.style.webkitAnimationDelay = leafDelay + ', ' + leafDelay;
- image.style.webkitAnimationDuration = spinDuration;
- // add the <img> to the <div>
- leafDiv.appendChild(image);
- /* Return this img element so it can be added to the document */
- return leafDiv;
- }
- /* Calls the init function when the "Falling Leaves" page is full loaded */
- window.addEventListener('load', init, false);
以上就是本文的全部内容,希望对大家学习有所帮助。
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
2024年11月17日
2024年11月17日
- 罗志祥《舞状元 (Explicit)》[320K/MP3][66.77MB]
- 尤雅.1997-幽雅精粹2CD【南方】【WAV+CUE】
- 张惠妹.2007-STAR(引进版)【EMI百代】【WAV+CUE】
- 群星.2008-LOVE情歌集VOL.8【正东】【WAV+CUE】
- 罗志祥《舞状元 (Explicit)》[FLAC/分轨][360.76MB]
- Tank《我不伟大,至少我能改变我。》[320K/MP3][160.41MB]
- Tank《我不伟大,至少我能改变我。》[FLAC/分轨][236.89MB]
- CD圣经推荐-夏韶声《谙2》SACD-ISO
- 钟镇涛-《百分百钟镇涛》首批限量版SACD-ISO
- 群星《继续微笑致敬许冠杰》[低速原抓WAV+CUE]
- 潘秀琼.2003-国语难忘金曲珍藏集【皇星全音】【WAV+CUE】
- 林东松.1997-2039玫瑰事件【宝丽金】【WAV+CUE】
- 谭咏麟.2022-倾·听【环球】【WAV+CUE】
- 4complete《丛生》[320K/MP3][85.26MB]
- 4complete《丛生》[FLAC/分轨][218.01MB]