0


HTML爱心网页制作(带文字)

83ca088649254e119ae0fcc30ef82f94.png

XXX可随意更改,先点赞后拿文,谢谢大家啦

<!doctype html> <html> <head> <meta charset="utf-8"> <title>love++</title>
<style>
     html,
     body {

        width: 500px;
         height: 300px;
         left: 50px;
         top: 30px;
         margin: 100px 289px;

        background: black;
     }

    pp1 {
         position: absolute;
         top: 20px;
         left: 20px;
     }

    canvas {
         position: absolute;
         width: 1000px;
         height: 500px;
         left: 50%;
         top: 20%;
         transform: translate(-50%, 0);
     }

    #contentToWrite {
         font-size: 30px;
         position: absolute;
         left: 50%;
         top: 40%;
         transform: translate(-48%, 0);
         /* margin-left: -80px; */

    }
 </style>
 <link href="css/default.css" type="text/css" rel="stylesheet">
 <script type="text/javascript" src="d.js"></script>

<script language="javascript" type="text/javascript">

    // 18秒以后再跳转
     setTimeout("javascript:location.href='./index.html'", 100000);
 </script>
</head>
***XXX***
<script type="text/javascript"> writeContent(true); </script> </body> <body>
<canvas id="pinkboard"></canvas>

<script>
     /*
      * Settings
      */
     var settings = {
         particles: {
             length: 500, // maximum amount of particles
             duration: 2, // particle duration in sec
             velocity: 100, // particle velocity in pixels/sec
             effect: -0.75, // play with this for a nice effect
             size: 30, // particle size in pixels
         },

    };

    /*
      * RequestAnimationFrame polyfill by Erik M?ller
      */
     (function () { var b = 0; var c = ["ms", "moz", "webkit", "o"]; for (var a = 0; a < c.length && !window.requestAnimationFrame; ++a) { window.requestAnimationFrame = window[c[a] + "RequestAnimationFrame"]; window.cancelAnimationFrame = window[c[a] + "CancelAnimationFrame"] || window[c[a] + "CancelRequestAnimationFrame"] } if (!window.requestAnimationFrame) { window.requestAnimationFrame = function (h, e) { var d = new Date().getTime(); var f = Math.max(0, 16 - (d - b)); var g = window.setTimeout(function () { h(d + f) }, f); b = d + f; return g } } if (!window.cancelAnimationFrame) { window.cancelAnimationFrame = function (d) { clearTimeout(d) } } }());

    /*
      * Point class
      */
     var Point = (function () {
         function Point(x, y) {
             this.x = (typeof x !== 'undefined') ? x : 0;
             this.y = (typeof y !== 'undefined') ? y : 0;
         }
         Point.prototype.clone = function () {
             return new Point(this.x, this.y);
         };
         Point.prototype.length = function (length) {
             if (typeof length == 'undefined')
                 return Math.sqrt(this.x * this.x + this.y * this.y);
             this.normalize();
             this.x *= length;
             this.y *= length;
             return this;
         };
         Point.prototype.normalize = function () {
             var length = this.length();
             this.x /= length;
             this.y /= length;
             return this;
         };
         return Point;
     })();

    /*
      * Particle class
      */
     var Particle = (function () {
         function Particle() {
             this.position = new Point();
             this.velocity = new Point();
             this.acceleration = new Point();
             this.age = 0;
     

};
Particle.prototype.update = function (deltaTime) {
this.position.x += this.velocity.x * deltaTime;
this.position.y += this.velocity.y * deltaTime;
this.velocity.x += this.acceleration.x * deltaTime;
this.velocity.y += this.acceleration.y * deltaTime;
this.age += deltaTime;
};
Particle.prototype.draw = function (context, image) {
function ease(t) {
return (--t) * t * t + 1;
}
var size = image.width * ease(this.age / settings.particles.duration);
context.globalAlpha = 1 - this.age / settings.particles.duration;
context.drawImage(image, this.position.x - size / 2, this.position.y - size / 2, size, size);
};
return Particle;
})();

    /*
      * ParticlePool class
      */
     var ParticlePool = (function () {
         var particles,
             firstActive = 0,
             firstFree = 0,
             duration = settings.particles.duration;

        function ParticlePool(length) {
             // create and populate particle pool
             particles = new Array(length);
             for (var i = 0; i < particles.length; i++)
                 particles[i] = new Particle();
         }
         ParticlePool.prototype.add = function (x, y, dx, dy) {
             particles[firstFree].initialize(x, y, dx, dy);

            // handle circular queue
             firstFree++;
             if (firstFree == particles.length) firstFree = 0;
             if (firstActive == firstFree) firstActive++;
             if (firstActive == particles.length) firstActive = 0;
         };
         ParticlePool.prototype.update = function (deltaTime) {
             var i;

            // update active particles
             if (firstActive < firstFree) {
    

for (i = firstActive; i < firstFree; i++)
particles[i].draw(context, image);
}
if (firstFree < firstActive) {
for (i = firstActive; i < particles.length; i++)
particles[i].draw(context, image);
for (i = 0; i < firstFree; i++)
particles[i].draw(context, image);
}
};
return ParticlePool;
})();

    /*
      * Putting it all together
      */
     (function (canvas) {
         var context = canvas.getContext('2d'),
             particles = new ParticlePool(settings.particles.length),
             particleRate = settings.particles.length / settings.particles.duration, // particles/sec
             time;

        // get point on heart with -PI <= t <= PI
         function pointOnHeart(t) {
             return new Point(
                 180 * Math.pow(Math.sin(t), 3),
                 160 * Math.cos(t) - 50 * Math.cos(2 * t) - 20 * Math.cos(3 * t) - 10 * Math.cos(4 * t) + 25
             );
         }

        // creating the particle image using a dummy canvas
         var image = (function () {
             var canvas = document.createElement('canvas'),
                 context = canvas.getContext('2d');
             canvas.width = settings.particles.size;
             canvas.height = settings.particles.size;
             // helper function to create the path
             function to(t) {
                 var point = pointOnHeart(t);
                 point.x = settings.particles.size / 2 + point.x * settings.particles.size / 350;
                 point.y = settings.particles.size / 2 - point.y * settings.particles.size / 350;
                 return point;
             }
             // create the path
             context.beginPath();
             var t = -Math.PI;
             var p

oint = to(t);
context.moveTo(point.x, point.y);
while (t < Math.PI) {
t += 0.01; // baby steps!
point = to(t);
context.lineTo(point.x, point.y);
}
context.closePath();
// create the fill
context.fillStyle = '#fa759f';
context.fill();
// create the image
var image = new Image();
image.src = canvas.toDataURL();
return image;
})();

        // render that thing!
         function render() {
             // next animation frame
             requestAnimationFrame(render);

            // update time
             var newTime = new Date().getTime() / 1000,
                 deltaTime = newTime - (time || newTime);
             time = newTime;

            // clear canvas
             context.clearRect(0, 0, canvas.width, canvas.height);

            // create new particles
             var amount = particleRate * deltaTime;
             for (var i = 0; i < amount; i++) {
                 var pos = pointOnHeart(Math.PI - 2 * Math.PI * Math.random());
                 var dir = pos.clone().length(settings.particles.velocity);
                 particles.add(canvas.width / 2 + pos.x, canvas.height / 2 - pos.y, dir.x, -dir.y);
             }

            // update and draw particles
             particles.update(deltaTime);
             particles.draw(context, image);
         }

        // handle (re-)sizing of the canvas
         function onResize() {
             canvas.width = canvas.clientWidth;
             canvas.height = canvas.clientHeight;
         }
         window.onresize = onResize;

        // delay rendering bootstrap
         setTimeout(function () {
             onResize();
             render();
         }, 50

})(document.getElementById('pinkboard'));</script>

</body> <script> var charIndex = -1; var stringLength = 0; var inputText;
function writeContent(init) {
     if (init) {
         inputText = document.getElementById('contentToWrite').innerHTML;
     }
     if (charIndex == -1) {
         charIndex = 0;
         stringLength = inputText.length;
     }
     var initString = document.getElementById('myContent').innerHTML;
     initString = initString.replace(/<SPAN.*$/gi, "");
     var theChar = inputText.charAt(charIndex);
     var nextFourChars = inputText.substr(charIndex, 4);
     if (nextFourChars == '<BR>' || nextFourChars == '<br>') {
         theChar = '<BR>';
         charIndex += 3;
     }
     initString = initString + theChar + "<SPAN id='blink'>_</SPAN>";
     document.getElementById('myContent').innerHTML = initString;
     charIndex = charIndex / 1 + 1;
     if (charIndex % 2 == 1) {
         document.getElementById('blink').style.display = 'none';
     } else {
         document.getElementById('blink').style.display = 'inline';
     }
     if (charIndex <= stringLength) {
         setTimeout('writeContent(false)', 300);
     } else {
         blinkSpan();
     }
 }

var currentStyle = 'inline';

function blinkSpan() {
     if (currentStyle == 'inline') {
         currentStyle = 'none';
     } else {
         currentStyle = 'inline';
     }
     document.getElementById('blink').style.display = currentStyle;
     setTimeout('blinkSpan()', 300);
 }

</script>

</html>
标签: html 前端

本文转载自: https://blog.csdn.net/weixin_65432231/article/details/127736282
版权归原作者 君106 所有, 如有侵权,请联系我们删除。

“HTML爱心网页制作(带文字)”的评论:

还没有评论