Request Recommend Promotion
求人募集 仕事依頼 参加者募集 相談したい 探してます 求人応募 仕事受付 相談乗ります 探す協力します 教えます 参加希望
期間限定 ショップ・飲食店 イベント・エンタメ 病院・クリニック スポット・地域 聞いてほしい話 緊急告知 乗り物・施設
ファッション 映画 ドラマ アニメ・マンガ 小説・雑誌 イベント スポーツ 音楽 Web 人・グループ 企業・店舗・団体

都道府県を選択

地域で絞り込み

路線で絞り込み

NetPaperNetPaper

NetPaper List

Javascriptの基礎を教えます

Ban

0
0

コメントはまだありません

編集: 承認: 削除: 迷惑: 返信:

    コメントを残す

    コメントするにはログインしてください。

    簡単なアクションなどJavascriptの基礎を教えます。

    動画のサイトのテキスト表示は以下のようになっています。(抜粋したものですので全く同じではありません。)

     株式会社 ファイヴ ドット オン公式 https://five-on.com/

      ※トップページを表示するたびにアニメーションが動くとかえって邪魔になるので1度最後まで動作したら2度目からはアニメーションは動きません。

    お互いのスケジュールに調整がつけばMEET等でもご相談可能です。ご希望の場合はFollowとコメントでお知らせくださればMessagesでご返信いたします。


    <script>
    (function($) {
      /**
       * Get data from session storage.
       * @param {string} key Session storage item key.
       * @return {object}
       */
      const getSessionStorage = (key) => {
        return JSON.parse(sessionStorage.getItem(key)) || {};
      };
    
      /**
       * Set data to session storage.
       * @param {string} key Session storage item key.
       * @param {object} data Data object to set.
       * @return {object}
       */
      const setSessionStorage = (key, data) => {
        if (key && data) {
          sessionStorage.setItem(key, JSON.stringify(data));
          return getSessionStorage(key);
        }
      };
    
      /**
       * Animation function.
       * @param {string} Clone target selector.
       * @return {Promise<object>} Promise object with boolean.
       */
      const topAnimation = (selector) => {
        selector = selector || '.isFrontPage';
        $('body, html').addClass('stopScroll');
        const targetElm = $(selector);
        const elm = targetElm.clone();
        const clientRect = $('.isFrontPage h1')[0].getBoundingClientRect()
        const y = clientRect.top ;
        elm.addClass('animationModal');
        const siteNameElm = elm.find('.siteName');
        const siteLogoElm = elm.find('.siteLogo');
        const wrapElm = $('<div class="animationWrap" />');
        wrapElm.append(siteNameElm, siteLogoElm);
        elm.append(wrapElm);
        $('body').append(elm);
        const str = siteNameElm.text().split('');
        siteNameElm.text('');
        siteLogoElm.hide();
        elm.find('.siteName').text('')
        elm.css({'width': '100vw', 'height': '100vh'}).show();
        let multiplicateNum = 5;
        return new Promise((resolve, reject) => {
          const typewriter = (siteNameElm, strArray) => {
            if (strArray.length) {
              const str = strArray.shift();
              const duration = (str === ' ' || str === ' ') ? 200 : 100;
              setTimeout(function () {
                multiplicateNum = 1;
                siteNameElm.append(str);
                typewriter(siteNameElm, strArray);
              }, duration * multiplicateNum);
            } else {
              siteLogoElm.fadeIn(3000, () => {
                wrapElm.animate({'top': y, 'left': 0}, 1000, () => {
                  elm.fadeOut(1000, () => {
                    elm.remove();
                    $('body, html').removeClass('stopScroll');
                    return resolve(true);
                  });
                });
              });
              elm.animate({'background': 'rgba(255,255,255,0)'}, 3000);
            }
          };
          typewriter(siteNameElm, str);
          // Cancel on resize
          $(window).one('resize', function () {
            elm.hide().remove();
            $('body, html').removeClass('stopScroll');
            return resolve(false);
          });
        });
      };
    
      // Top page animation
      let sessionFiveOn = {};
      if ($('.isFrontPage').length) {
        // Get sessionStorage data
        if ('sessionStorage' in window) {
          sessionFiveOn = getSessionStorage('fiveon');
          if (!sessionFiveOn.onAnimation) {
            topAnimation().then((result) => {
              if (result) {
                sessionFiveOn = setSessionStorage('fiveon', {'onAnimation': true});
              }
            });
          }
        } else {
          sessionFiveOn = {'onAnimation': true};
        }
      }
    })(jQuery);
    </script>