当前位置:   article > 正文

网页版圣诞节贺卡源码超漂亮HTML版圣诞节贺卡送女朋友圣诞节贺卡源码_圣诞节表白礼物网页html;

圣诞节表白礼物网页html;

网页版圣诞节贺卡源码超漂亮HTML版圣诞节贺卡送女朋友圣诞节贺卡源码

运行截屏:

核心代码

  1. function snow() {
  2. // 1、定义一片雪花模板
  3. var flake = document.createElement("div");
  4. // 雪花字符 ❄❉❅❆✻✼❇❈❊✥✺
  5. flake.innerHTML = "❆";
  6. flake.style.cssText = "position:absolute;color:#fff;";
  7. //获取页面的高度 相当于雪花下落结束时Y轴的位置
  8. var documentHieght = window.innerHeight;
  9. //获取页面的宽度,利用这个数来算出,雪花开始时left的值
  10. var documentWidth = window.innerWidth;
  11. //定义生成一片雪花的毫秒数
  12. var millisec = 100;
  13. //2、设置第一个定时器,周期性定时器,每隔一段时间(millisec)生成一片雪花;
  14. setInterval(function () {
  15. //页面加载之后,定时器就开始工作
  16. //随机生成雪花下落 开始 时left的值,相当于开始时X轴的位置
  17. var startLeft = Math.random() * documentWidth;
  18. //随机生成雪花下落 结束 时left的值,相当于结束时X轴的位置
  19. var endLeft = Math.random() * documentWidth;
  20. //随机生成雪花大小
  21. var flakeSize = 5 + 20 * Math.random();
  22. //随机生成雪花下落持续时间
  23. var durationTime = 4000 + 7000 * Math.random();
  24. //随机生成雪花下落 开始 时的透明度
  25. var startOpacity = 0.7 + 0.3 * Math.random();
  26. //随机生成雪花下落 结束 时的透明度
  27. var endOpacity = 0.2 + 0.2 * Math.random();
  28. //克隆一个雪花模板
  29. var cloneFlake = flake.cloneNode(true);
  30. //第一次修改样式,定义克隆出来的雪花的样式
  31. cloneFlake.style.cssText += `
  32. left: ${startLeft}px;
  33. opacity: ${startOpacity};
  34. font-size:${flakeSize}px;
  35. top:-25px;
  36. transition:${durationTime}ms;
  37. `;
  38. //拼接到页面中
  39. document.body.appendChild(cloneFlake);
  40. //设置第二个定时器,一次性定时器,
  41. //当第一个定时器生成雪花,并在页面上渲染出来后,修改雪花的样式,让雪花动起来;
  42. setTimeout(function () {
  43. //第二次修改样式
  44. cloneFlake.style.cssText += `
  45. left: ${endLeft}px;
  46. top:${documentHieght}px;
  47. opacity:${endOpacity};
  48. `;
  49. //4、设置第三个定时器,当雪花落下后,删除雪花。
  50. setTimeout(function () {
  51. cloneFlake.remove();
  52. }, durationTime);
  53. }, 0);
  54. }, millisec);
  55. }
  56. snow();
  57. MorphSVGPlugin.convertToPath("polygon");
  58. var xmlns = "http://www.w3.org/2000/svg",
  59. xlinkns = "http://www.w3.org/1999/xlink",
  60. select = function (s) {
  61. return document.querySelector(s);
  62. },
  63. selectAll = function (s) {
  64. return document.querySelectorAll(s);
  65. },
  66. pContainer = select(".pContainer"),
  67. mainSVG = select(".mainSVG"),
  68. star = select("#star"),
  69. sparkle = select(".sparkle"),
  70. tree = select("#tree"),
  71. showParticle = true,
  72. particleColorArray = [
  73. "#E8F6F8",
  74. "#ACE8F8",
  75. "#F6FBFE",
  76. "#A2CBDC",
  77. "#B74551",
  78. "#5DBA72",
  79. "#910B28",
  80. "#910B28",
  81. "#446D39",
  82. ],
  83. particleTypeArray = ["#star", "#circ", "#cross", "#heart"],
  84. // particleTypeArray = ['#star'],
  85. particlePool = [],
  86. particleCount = 0,
  87. numParticles = 201;
  88. // gsap动画库
  89. gsap.set("svg", {
  90. visibility: "visible",
  91. });
  92. gsap.set(sparkle, {
  93. transformOrigin: "50% 50%",
  94. y: -100,
  95. });
  96. let getSVGPoints = (path) => {
  97. let arr = [];
  98. var rawPath = MotionPathPlugin.getRawPath(path)[0];
  99. rawPath.forEach((el, value) => {
  100. let obj = {};
  101. obj.x = rawPath[value * 2];
  102. obj.y = rawPath[value * 2 + 1];
  103. if (value % 2) {
  104. arr.push(obj);
  105. }
  106. //console.log(value)
  107. });
  108. return arr;
  109. };
  110. let treePath = getSVGPoints(".treePath");
  111. var treeBottomPath = getSVGPoints(".treeBottomPath");
  112. //console.log(starPath.length)
  113. var mainTl = gsap.timeline({ delay: 0, repeat: 0 }),
  114. starTl;
  115. //tl.seek(100).timeScale(1.82)
  116. function flicker(p) {
  117. //console.log("flivker")
  118. gsap.killTweensOf(p, { opacity: true });
  119. gsap.fromTo(
  120. p,
  121. {
  122. opacity: 1,
  123. },
  124. {
  125. duration: 0.07,
  126. opacity: Math.random(),
  127. repeat: -1,
  128. }
  129. );
  130. }

完整代码下载地址:送女朋友圣诞节贺卡源码

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/90949
推荐阅读
相关标签
  

闽ICP备14008679号