_Effect.cshtml 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. @using WeApp.Helpers
  2. @model string
  3. <style>
  4. .effect-box {
  5. display: none;
  6. position: fixed;
  7. top: 0;
  8. bottom: 0;
  9. left: 0;
  10. right: 0;
  11. z-index: 10000;
  12. background: rgba(255,255,255,0.2);
  13. }
  14. .effect-box .effect-canvas {
  15. width: 100%;
  16. height: 100%;
  17. }
  18. </style>
  19. <div class="effect-box"></div>
  20. @using (Html.BeginScripts())
  21. {
  22. @*<script src="~/Content/V2/Effect/yanhua.js"></script>*@
  23. <script src="~/Content/V2/Effect/fireworks.js"></script>
  24. <script id="effect-info-script">
  25. var effectTimer,effectTimeDelay = 1000 * 10;
  26. $(function () {
  27. //PlayEffect("ZhaDan");
  28. });
  29. function PlayEffect(type) {
  30. var fun = window[type + "Play"];
  31. if (fun && typeof fun == "function") {
  32. ClearEffect();
  33. fun();
  34. effectTimer= setTimeout(function () {
  35. $('.effect-box').fadeOut(500, ClearEffect);
  36. }, effectTimeDelay);
  37. }
  38. }
  39. function ClearEffect() {
  40. clearTimeout(effectTimer);
  41. $('.effect-box .effect-canvas').remove();
  42. $('.effect-box').html('');
  43. $('#audio-hidden-effect').remove();
  44. }
  45. function YanHuaPlay() {
  46. $.metPageJs('/Content/V2/Effect/fireworks.js', 'fireworks-js');
  47. //$('.effect-box').html(`<canvas class="effect-canvas"></canvas>`);
  48. $('.effect-box').html(`<div class="effect-canvas"></div>`);
  49. //PlayEffectAudio("/Content/V2/Effect/yanhua.mp3");
  50. $('.effect-box').fadeIn();
  51. //YanHua($('.effect-box .effect-canvas'));
  52. $('.effect-box .effect-canvas').fireworks({
  53. sound: true, // 声音效果
  54. opacity: 0.7,
  55. width: '100%',
  56. height: '100%'
  57. });
  58. }
  59. function YanHua2Play() {
  60. $.metPageCss('/Content/V2/Effect/yanhua2.css', 'yanhua2-css');
  61. $('.effect-box').html(`<div class="effect-canvas"></div>`);
  62. var $line = $('<div class="line"><div class="spark"><div class="fire"></div></div></div>');
  63. var $firework = $('<div class="fireworks">'), $fireworks = $('<div class="box"><div class="x"><div class="class="y"><div class="z"></div></div></div></div>');
  64. for (var i = 0; i < 200; i++) {
  65. $firework.append($line.clone());
  66. }
  67. for (var j = 0; j < 5; j++) {
  68. $fireworks.find('.z').append($firework.clone());
  69. }
  70. $('.effect-box .effect-canvas').append($fireworks);
  71. $('.effect-box').fadeIn();
  72. PlayEffectAudio("/Content/V2/Effect/yanhua.mp3");
  73. }
  74. function ZhaDanPlay() {
  75. $.metPageCss('/Content/V2/Effect/zhadan.min.css', 'zhadan-css');
  76. $('.effect-box').html(`<div class="effect-canvas"></div>`);
  77. for (var i = 0; i < 224; i++) {
  78. $('.effect-box .effect-canvas').append(`<span></span>`);
  79. }
  80. $('.effect-box').fadeIn();
  81. PlayEffectAudio("/Content/V2/Effect/zhadan.mp3");
  82. }
  83. function PlayEffectAudio(url) {
  84. if ($('#audio-hidden-effect').length) {
  85. $('#audio-hidden-effect').remove();
  86. }
  87. var audio = document.createElement('audio');
  88. $('<div id="audio-hidden-effect" style="display:none">').append(audio).appendTo($('body'));
  89. audio.src = url;
  90. audio.loop = true;
  91. audio.play();
  92. }
  93. iwbHub.client.getEffectCmd = function(msg) {
  94. console.log('getEffectCmd: ', msg);
  95. if (msg) {
  96. try {
  97. var data = msg;// JSON.parse(msg);
  98. if ('@(Model)'.indexOf(data.no)>-1) {
  99. PlayEffect(data.effect);
  100. }
  101. } catch (e) {
  102. console.log('getEffectCmd: ', e);
  103. }
  104. }
  105. };
  106. </script>
  107. }