整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          裝B技巧,讓頁面也 High 起來-一起搖擺

          記得魔性的小蘋果和抖音嗎,作為前端的你,有想過讓頁面也 High 起來、舞動起來嗎?

          ??先看效果:

          下面這段代碼可直接在控制臺執(zhí)行,略長。可直接跳到本小節(jié)末,使用簡短 JS 引入的方式進(jìn)行體驗(yàn)(帶音樂效果喲

          setTimeout(letDance, 1000);
          var bgmSrc =
            'https://nd002723.github.io/carnival/audio/Martin%20Jensen%20-%20Fox%20(Loop%20Remix).mp3';
          var cssHref = 'https://nd002723.github.io/carnival/css/high.css';
          function letDance() {
            function loadCss() {
              //將css文件引入頁面
              var myCss = document.createElement('link');
              myCss.setAttribute('type', 'text/css');
              myCss.setAttribute('rel', 'stylesheet');
              myCss.setAttribute('href', cssHref); //css文件地址
              myCss.setAttribute('class', l);
              document.body.appendChild(myCss);
            }
          
            function h() {
              var e = document.getElementsByClassName(l);
              for (var t = 0; t < e.length; t++) {
                document.body.removeChild(e[t]);
              }
            }
          
            function p() {
              var e = document.createElement('div');
              e.setAttribute('class', a);
              document.body.appendChild(e);
              setTimeout(function () {
                document.body.removeChild(e);
              }, 100);
            }
          
            function getSize(e) {
              //獲取目標(biāo)的寬高
              return {
                height: e.offsetHeight,
                width: e.offsetWidth,
              };
            }
          
            function checkSize(i) {
              //判斷目標(biāo)大小是否符合要求
              var s = getSize(i); //獲取目標(biāo)的寬高
              return (
                s.height > minHeight &&
                s.height < maxHeight &&
                s.width > minWidth &&
                s.width < maxWidth
              ); //判斷目標(biāo)是否符合條件
            }
          
            function m(e) {
              var t = e;
              var n = 0;
              while (!!t) {
                n += t.offsetTop;
                t = t.offsetParent;
              }
              return n;
            }
          
            function g() {
              var e = document.documentElement;
              if (!!window.innerWidth) {
                return window.innerHeight;
              } else if (e && !isNaN(e.clientHeight)) {
                return e.clientHeight;
              }
              return 0;
            }
          
            function y() {
              if (window.pageYOffset) {
                return window.pageYOffset;
              }
              return Math.max(
                document.documentElement.scrollTop,
                document.body.scrollTop
              );
            }
          
            function E(e) {
              var t = m(e);
              return t >= w && t <= b + w;
            }
          
            function setBgm() {
              //設(shè)置音樂
              var e = document.createElement('audio');
              e.setAttribute('class', l);
              e.src = bgmSrc; //bgm地址
              e.loop = false;
              e.addEventListener(
                'canplay',
                function () {
                  setTimeout(function () {
                    x(k);
                  }, 500);
                  setTimeout(function () {
                    N();
                    p();
                    for (var e = 0; e < O.length; e++) {
                      T(O[e]);
                    }
                  }, 15500);
                },
                true
              );
              e.addEventListener(
                'ended',
                function () {
                  N();
                  h();
                },
                true
              );
              e.innerHTML =
                ' <p>If you are reading this, it is because your browser does not support the audio element. We recommend that you get a new browser.</p> <p>';
              document.body.appendChild(e);
              e.play();
            }
          
            function x(e) {
              e.className += ' ' + s + ' ' + o;
            }
          
            function T(e) {
              e.className += ' ' + s + ' ' + u[Math.floor(Math.random() * u.length)];
            }
          
            function N() {
              var e = document.getElementsByClassName(s);
              var t = new RegExp('\\b' + s + '\\b');
              for (var n = 0; n < e.length; ) {
                e[n].className = e[n].className.replace(t, '');
              }
            }
            var minHeight = 3; //最小高度
            var minWidth = 3; //最小寬度
            var maxHeight = 800; //最大高度
            var maxWidth = 1400; //最大寬度
            var s = 'mw-harlem_shake_me';
            var o = 'im_first';
            var u = ['im_drunk', 'im_baked', 'im_trippin', 'im_blown'];
            var a = 'mw-strobe_light';
            var l = 'mw_added_css'; //最終要移除的css
            var b = g();
            var w = y();
            var C = document.getElementsByTagName('*');
            var k = null;
            for (var L = 0; L < C.length; L++) {
              var targetDiv = C[L];
              if (checkSize(targetDiv)) {
                if (E(targetDiv)) {
                  k = targetDiv;
                  break;
                }
              }
            }
            if (targetDiv === null) {
              //如果沒找到合適大小的
              console.warn('沒能找到合適的大小. 換一個(gè)頁面試試?.');
              return;
            }
          
            loadCss(); //將自定義css文件引入頁面
            setBgm(); //添加背景音樂
          
            var O = [];
            for (var L = 0; L < C.length; L++) {
              var targetDiv = C[L];
              if (checkSize(targetDiv)) {
                O.push(targetDiv);
              }
            }
          
            //網(wǎng)頁整體傾斜效果(這塊兒本來是JQuery實(shí)現(xiàn)的,為了避免引入JQuery,做了改動。)
            var style = document.createElement('style');
            style.type = 'text/css';
            try {
              style.appendChild(
                document.createTextNode(
                  'body{overflow-x:hidden;transform: rotate(1deg);-webkit-transform: rotate(1deg);-moz-transform: rotate(1deg);-o-transform: rotate(1deg);-ms-transform: rotate(1deg)}'
                )
              );
            } catch (ex) {
              style.styleSheet.cssText = 'body{background-color:red}'; //針對IE
            }
            var head = document.getElementsByTagName('head')[0];
            head.appendChild(style);
          }

          ??或者更簡潔一點(diǎn),在頁面 URL 欄或者控制臺鍵入以下代碼直接體驗(yàn):

          在瀏覽器地址欄黏貼以下內(nèi)容的話,有三點(diǎn)需要注意,一是必須是已有內(nèi)容的頁面;二是如果是通過復(fù)制黏貼代碼到瀏覽器地址欄的話,IE 及 Chrome會自動去掉代碼開頭的javascript:,所以需要手動添加起來才能正確執(zhí)行,而 Firefox 中雖然不會自動去掉,但它根本就不支持在地址欄運(yùn)行 JS 代碼;三是引用的carnival.js會依賴JQuery(沒有的話也沒事,只是頁面少了一個(gè)傾斜的效果)。

          javascript: void (function () {
            var d = document,
              a = 'setAttribute',
              s = d.createElement('script');
            s[a]('tyle', 'text/javascript');
            s[a]('src', 'https://nd002723.github.io/carnival/js/carnival.js');
            d.head.appendChild(s);
          })();
          • 一個(gè)能讓你的網(wǎng)站 high 起來的 js

          們將為大家介紹 Highcharts 的動態(tài)圖。

          我們在前面已經(jīng)了解了 Highcharts 配置語法。接下來讓我們來看下 Highcharts 的其他配置。


          每秒更新曲線圖

          chart.events

          chart.event 屬性中添加 load 方法(圖表加載事件)。在 1000 毫秒內(nèi)隨機(jī)產(chǎn)生數(shù)據(jù)點(diǎn)并生成圖表。

          chart: {
           events: {
           load: function () {
           // 圖表每秒更新一次
           var series = this.series[0];
           setInterval(function () {
           var x = (new Date()).getTime(), // 當(dāng)期時(shí)間
           y = Math.random();
           series.addPoint([x, y], true, true);
           }, 1000);
           }
           }}

          實(shí)例

          文件名:highcharts_dynamic_spline.htm

          <html><head><meta charset="UTF-8" /><title>Highcharts 教程 | 菜鳥教程(runoob.com)</title><script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script><script src="http://code.highcharts.com/highcharts.js"></script></head><body><div id="container" style="width: 550px; height: 400px; margin: 0 auto"></div><script language="JavaScript">$(document).ready(function() { 
           var chart = {
           type: 'spline', animation: Highcharts.svg, // don't animate in IE < IE 10.
           marginRight: 10, events: {
           load: function () {
           // set up the updating of the chart each second
           var series = this.series[0];
           setInterval(function () {
           var x = (new Date()).getTime(), // current time
           y = Math.random();
           series.addPoint([x, y], true, true);
           }, 1000);
           }
           }
           };
           var title = {
           text: 'Live random data' 
           }; 
           var xAxis = {
           type: 'datetime',
           tickPixelInterval: 150
           };
           var yAxis = {
           title: {
           text: 'Value'
           },
           plotLines: [{
           value: 0,
           width: 1,
           color: '#808080'
           }]
           };
           var tooltip = {
           formatter: function () {
           return '<b>' + this.series.name + '</b><br/>' +
           Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', this.x) + '<br/>' +
           Highcharts.numberFormat(this.y, 2);
           }
           };
           var plotOptions = {
           area: {
           pointStart: 1940,
           marker: {
           enabled: false,
           symbol: 'circle',
           radius: 2,
           states: {
           hover: {
           enabled: true
           }
           }
           }
           }
           };
           var legend = {
           enabled: false
           };
           var exporting = {
           enabled: false
           };
           var series= [{
           name: 'Random data',
           data: (function () {
           // generate an array of random data
           var data = [],time = (new Date()).getTime(),i;
           for (i = -19; i <= 0; i += 1) {
           data.push({
           x: time + i * 1000,
           y: Math.random()
           });
           }
           return data;
           }()) 
           }]; 
           var json = {}; 
           json.chart = chart;
           json.title = title; 
           json.tooltip = tooltip;
           json.xAxis = xAxis;
           json.yAxis = yAxis;
           json.legend = legend; 
           json.exporting = exporting; 
           json.series = series;
           json.plotOptions = plotOptions;
           Highcharts.setOptions({
           global: {
           useUTC: false
           }
           });
           $('#container').highcharts(json);
           });</script></body></html>

          Highcharts 餅圖


          通過點(diǎn)擊添加數(shù)據(jù)

          chart.events

          在 chart.event 屬性中添加 click 方法(整個(gè)圖表的繪圖區(qū)上所發(fā)生的點(diǎn)擊事件)。該方法在圖表繪圖區(qū)上發(fā)生點(diǎn)擊時(shí)會添加新的數(shù)據(jù)點(diǎn)。

          chart: {
           events: {
           click: function (e) {
           // 獲取點(diǎn)擊坐標(biāo)和數(shù)據(jù)項(xiàng)
           var x = e.xAxis[0].value,
           y = e.yAxis[0].value,
           series = this.series[0];
           // 添加點(diǎn)擊的坐標(biāo)
           series.addPoint([x, y]);
           }
           }}

          實(shí)例

          文件名:highcharts_dynamic_click.htm

          tyle 屬性用于改變 HTML 元素的樣式。

          <html>

          <body style="background-color:PowderBlue;">

          <h1>Look! Styles and colors</h1>

          <p style="font-family:verdana;color:red">

          This text is in Verdana and red</p>

          <p style="font-family:times;color:green">

          This text is in Times and green</p>

          <p style="font-size:30px">This text is 30 pixels high</p>

          </body>

          </html>

          HTML 的 style 屬性

          style 屬性的作用:

          提供了一種改變所有 HTML 元素的樣式的通用方法。

          樣式是 HTML 4 引入的,它是一種新的首選的改變 HTML 元素樣式的方式。通過 HTML 樣式,能夠通過使用 style 屬性直接將樣式添加到 HTML 元素,或者間接地在獨(dú)立的樣式表中(CSS 文件)進(jìn)行定義。

          不贊成使用的標(biāo)簽和屬性

          在 HTML 4 中,有若干的標(biāo)簽和屬性是被廢棄的。被廢棄(Deprecated)的意思是在未來版本的 HTML 和 XHTML 中將不支持這些標(biāo)簽和屬性。

          這里傳達(dá)的信息很明確:請避免使用這些被廢棄的標(biāo)簽和屬性!

          應(yīng)該避免使用下面這些標(biāo)簽和屬性:

          HTML 樣式實(shí)例 - 背景顏色

          background-color 屬性為元素定義了背景顏色:

          <html>
          <body style="background-color:yellow">
          <h2 style="background-color:red">This is a heading</h2>
          <p style="background-color:green">This is a paragraph.</p>
          </body>
          </html>
          

          HTML 樣式實(shí)例 - 字體、顏色和尺寸

          font-family、color 以及 font-size 屬性分別定義元素中文本的字體系列、顏色和字體尺寸:

          <html>
          <body>
          <h1 style="font-family:verdana">A heading</h1>
          <p style="font-family:arial;color:red;font-size:20px;">A paragraph.</p>
          </body>
          </html>
          

          HTML 樣式實(shí)例 - 文本對齊

          text-align 屬性規(guī)定了元素中文本的水平對齊方式:


          主站蜘蛛池模板: 亚洲一区二区三区乱码在线欧洲| 日韩av片无码一区二区不卡电影 | 无码人妻一区二区三区免费手机| 亚洲国产精品一区二区三区在线观看 | 亚洲熟妇av一区二区三区下载| 精品国产一区二区三区久久狼| 国产激情一区二区三区在线观看| 国偷自产一区二区免费视频| 亚洲午夜精品一区二区麻豆| 国产成人一区二区三区在线观看| 韩国一区二区三区视频| 亚洲AV噜噜一区二区三区| 91在线一区二区三区| 亚洲一区二区三区在线| 国产亚洲一区二区三区在线观看| 久久久久国产一区二区| 国产激情视频一区二区三区| 狠狠综合久久AV一区二区三区| 中文字幕不卡一区| 日本一区二区不卡在线| 精品日韩亚洲AV无码一区二区三区| 日本成人一区二区| 日韩好片一区二区在线看| 一本一道波多野结衣一区| 国精产品999一区二区三区有限| 五十路熟女人妻一区二区| 欧美激情一区二区三区成人| 天堂一区二区三区在线观看| 白丝爆浆18禁一区二区三区| 无码AV动漫精品一区二区免费| 国产精品乱码一区二区三区| 国产一区二区免费| 日韩精品一区二区三区老鸦窝| 国产一区高清视频| 在线中文字幕一区| 一区二区三区免费视频网站 | 美女视频黄a视频全免费网站一区| 国产精品区AV一区二区| 99精品一区二区三区| 日韩精品一区二区三区不卡| 亚洲视频一区调教|