html花瓣特效代码,网页上漂浮的花瓣

这篇博客分享了一段JavaScript代码,用于在网页上创建动态的飘浮花瓣特效。通过设置不同的坐标、位置、振幅和步长变量,实现了花瓣随机飘落的效果。代码适用于 Netscape 和 Internet Explorer 浏览器,为网页增添视觉趣味性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网页上漂浮的花瓣

[ 发布者:在远方┊来源:本站整理┊时间:2006-08-19┊浏览:

人次 ]

该特效用到的图片:

a9a10c6950711eece622927fcedd6afa.gif

网页特效观止|JsCode.CN|---网页上漂浮的花瓣

var no = 6; // snow number

var speed = 12; // smaller number moves the snow faster

var snowflake = "http://www.jscode.cn/Uploadfile/2006819224938886.GIF";

var ns4up = (document.layers) ? 1 : 0; // browser sniffer

var ie4up = (document.all) ? 1 : 0;

var dx, xp, yp; // coordinate and position variables

var am, stx, sty; // amplitude and step variables

var i, doc_width = 400, doc_height = 500;

if (ns4up) {

doc_width = self.innerWidth;

doc_height = self.innerHeight;

} else if (ie4up) {

doc_width = 500;

doc_height = 500;

}

dx = new Array();

xp = new Array();

yp = new Array();

am = new Array();

stx = new Array();

sty = new Array();

for (i = 0; i < no; ++ i) {

dx[i] = 0; // set coordinate variables

xp[i] = Math.random()*(doc_width-50); // set position variables

yp[i] = Math.random()*doc_height;

am[i] = Math.random()*20; // set amplitude variables

stx[i] = 0.02 + Math.random()/10; // set step variables

sty[i] = 0.7 + Math.random(); // set step variables

if (ns4up) { // set layers

if (i == 0) {

document.write("

document.write("top=\"15\" visibility=\"show\">p

document.write(snowflake + "\" border=\"0\">

");

} else {

document.write("

document.write("top=\"15\" visibility=\"show\">p

document.write(snowflake + "\" border=\"0\">

");

}

} else if (ie4up) {

if (i == 0) {

document.write("

document.write("absolute; Z-INDEX: "+ i +"; VISIBILITY: ");

document.write("visible; TOP: 15px; LEFT: 15px;\">p

document.write(snowflake + "\" border=\"0\">

");

} else {

document.write("

document.write("absolute; Z-INDEX: "+ i +"; VISIBILITY: ");

document.write("visible; TOP: 15px; LEFT: 15px;\">p

document.write(snowflake + "\" border=\"0\">

");

}

}

}

function snowNS() { // Netscape main animation function

for (i = 0; i < no; ++ i) { // iterate for every dot

yp[i] += sty[i];

if (yp[i] > doc_height-50) {

xp[i] = Math.random()*(doc_width-am[i]-30);

yp[i] = 0;

stx[i] = 0.02 + Math.random()/10;

sty[i] = 0.7 + Math.random();

doc_width = self.innerWidth;

doc_height = self.innerHeight;

}

dx[i] += stx[i];

document.layers["dot"+i].top = yp[i];

document.layers["dot"+i].left = xp[i] + am[i]*Math.sin(dx[i]);

}

setTimeout("snowNS()", speed);

}

function snowIE() { // IE main animation function

for (i = 0; i < no; ++ i) { // iterate for every dot

yp[i] += sty[i];

if (yp[i] > doc_height-50) {

xp[i] = Math.random()*(doc_width-am[i]-30);

yp[i] = 0;

stx[i] = 0.02 + Math.random()/10;

sty[i] = 0.7 + Math.random();

doc_width = document.body.clientWidth;

doc_height = document.body.clientHeight;

}

dx[i] += stx[i];

document.all["dot"+i].style.pixelTop = yp[i];

document.all["dot"+i].style.pixelLeft = xp[i] + am[i]*Math.sin(dx[i]);

}

setTimeout("snowIE()", speed);

}

if (ns4up) {

snowNS();

} else if (ie4up) {

snowIE();

}

本类相关信息

推荐另一种色带制作方法

怎么样?还行吧? 现在介绍怎么调用它们的很多了,不过命令不是很完整,我把...

页面马赛克显示效果

页面左右分开

HTML动态花海效果通常是通过结合HTML、CSS和JavaScript来实现的。这种视觉特效可以模拟花瓣随风动的效果,常用于网站背景装饰或特定节日主题页面。 ### 实现思路 1. **HTML结构** HTML主要用于定义基本的容器元素。例如,你可以创建一个`<div>`作为画布区域,在其中生成随机分布的小“花朵”或其他形状。 2. **CSS样式设计** 使用CSS设置每片“花瓣”的大小、颜色以及初始位置等属性,并利用动画规则控制它们如何移动。常见的做法包括: - 定义关键帧(`@keyframes`)让物体从屏幕顶部缓缓下降到底部; - 调整透明度和旋转角度增加真实感; 3. **JavaScript功能增强** JavaScript负责进一步提升互动性和复杂程度: - 动态生成大量带样式的DOM节点代表不同类型的花; - 随机化各项参数如速度、方向及延迟时间使得整体更自然流畅。 下面是一个简单示例代码片段展示原理(简化版): ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Dynamic Flower Field</title> <style> body { margin:0; overflow:hidden; } #canvas { position:relative; width:100vw; height:100vh; } .flower { position:absolute; animation-name:floating; animation-duration:5s; animation-timing-function:ease-in-out; animation-iteration-count:infinite; } @keyframes floating{ from{ transform:translateY(-10px) rotate(4deg); opacity:.7;} to{transform:translateX(5%) translateY(90vh)rotate(-6deg);opacity:.3;} } </style> </head> <body> <div id="canvas"></div> <script type='text/javascript'> function createFlowers(num){ const canvas = document.getElementById('canvas'); for(let i=0;i<num;i++){ let flower=document.createElement("span"); flower.classList.add("flower"); //randomize styles per element... var size=Math.random()*2+1+'em'; var color=['red','pink'][Math.floor(Math.random()*2)]; var top=-Math.random()*(window.innerHeight)+'px'; var left=Math.random() * window.innerWidth + 'px'; Object.assign(flower.style,{fontSize:size,color:left,top}); setTimeout(() => { canvas.appendChild(flower)}, Math.random()*50); } } createFlowers(100); //clean up after animations finish if needed. setInterval(()=>{ document.querySelectorAll(".flower").forEach(e=>e.remove()); }, 1E4 ); </script> </body> </html> ``` 此段脚本会在网页上显示大约一百朵左右不断漂浮下落的小圆点作为示意。“真正的”美丽花朵则需要更多细致图像资源配合加载进来替换默认文本标记内容才行!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值