Mutter
編集

ニュースティッカーガジェット~Blogger・F-lightカスタマイズ

アイキャッチ画像

ニュースティッカー ガジェット

ニュースティッカー
こういう新着記事等のお知らせをする奴

なんかいいな、、、と思いつつ

ウチのブログには必要はないか、、、

あっ、そうだ

くだらない呟きに使ってみよう

Xで呟くのも恥ずかしい、馬鹿馬鹿しい

どうでもいい事をココで呟こう

人様の眼を汚す事も気分を悪くさせる事もないだろう

ブログ見に来てこんなの気にする人いないだろうから

完全に個人的な遊び

Blogger・F-light用ニュースティッカー

いつものようにふじやんさんのをパク、、、参考にさせて頂きました

F-light カスタマイズ集 (随時追加予定) | ふじろじっく

F-light カスタマイズ集 (随時追加予定) | ふじろじっく

作者おすすめの F-light テーマカスタマイズを紹介します

まずは、ここを参照してください
コチラに実装方法、コードがアップされています


で、これを呟きだけに使いたいのでリンク機能が要らないわけですよ

自分で少し要らない部分を削除してみるも、、、

わからん。。。

ChatGPTに聞いたら教えてくれました


コード

アップしているコードはリンク機能を省いた呟き専用です

コード貼り付け場所
</nav>と<!-- メインコンテンツ -->の間に貼り付けてください
<!-- ニュースティッカー -->
<div class='ticker-wrap'>
  <div class='ticker-head'>Mutter</div>
  <div class='ticker'>
    <ul>
<li class='ticker-item'><a href='#' style='color:inherit;text-decoration:none;cursor:text'><span class='ticker-title'>テキスト</span></a></li>
<li class='ticker-item'><a href='#' style='color:inherit;text-decoration:none;cursor:text'><span class='ticker-title'>テキスト</span></a></li>
<li class='ticker-item'><a href='#' style='color:inherit;text-decoration:none;cursor:text'><span class='ticker-title'>テキスト</span></a></li>
    </ul>
  </div>
</div>
<script>/*<![CDATA[*/
/* News Ticker gadget powered by IB-Note via: https://itblogger-note.blogspot.com/2022/07/news-ticker.html */
 
(function(window, document) {
  const animTime = 5000;
  const speed = 100;
  const limit = 0;
  let animId;
  let isRunning = false;
 
  const ticker = document.querySelector('.ticker');
  loadTicker();
 
  function loadTicker() {
    tickerAnim();
    animId = setInterval(tickerAnim, animTime);
    isRunning = true;
  }
 
  // アニメーション処理
  function tickerAnim() {
    const items = ticker.querySelectorAll('.ticker-item');
    const running = ticker.querySelector('.run');
    let idx, link, first, next;
    if (!running) { // 実行中の要素がない場合(初回のみ)
      first = items[0];
      link = first.querySelector('a');
      first.classList.add('fadeInDown', 'run');
      first.style.zIndex = 1;
      setTimeout(textMove, 1000, link); // 第3引数に引数linkを指定。こうしないと即実行されてしまうので注意。
    } else {
      for (let i = 0; i < items.length; i++) {
        if (items[i] == running) {
          idx = i; // 実行中要素のインデックスを取得
          break;
        }
      }
      next = items[(idx + 1) % items.length];
      running.classList.replace('fadeInDown', 'fadeOutDown');
      setTimeout(() => {
        running.classList.remove('fadeOutDown', 'run');
        running.style.zIndex = 0;
        link = running.querySelector('a');
        link.style.transform = 'none';
        next.classList.add('fadeInDown', 'run');
        next.style.zIndex = 1;
        link = next.querySelector('a');
        setTimeout(textMove, 1000, link);
      }, 300);
    }
  }
 
  // テキスト移動処理
  function textMove(elm) {
    const move = elm.parentNode.clientWidth - elm.clientWidth;
    if (move < 0) {
      elm.style.transform = 'translateX(' + move + 'px)';
      elm.style.transitionDuration = Math.abs(move) / speed + 's';
    }
  }
 
  // ウィンドウサイズ変更時
  window.addEventListener('resize', () => {
    const windowWidth = window.innerWidth;
    if (windowWidth <= limit) {
      ticker.style.display = 'none';
      clearInterval(animId);
      isRunning = false;
    } else {
      if (!isRunning) {
        ticker.style.display = 'block';
        animId = setInterval(tickerAnim, animTime);
        isRunning = true;
      }
    }
  });
})(window, document);
/*]]>*/</script>
<style>/*<![CDATA[*/
.ticker-wrap {
  display: flex;
  max-width: 97%;
  width: 800px;/*横幅一杯に表示させる場合は 1155px*/
  background: var(--brand);
  padding: 4px;
  margin: 2em auto 0;
}
.ticker-head {
  width: 4.5em;
  font-family: verdana;
  font-style: italic;
  color: var(--brand-font); /*F-light v1.29 以降は var(--brand-font) に置き換える*/
  line-height: 30px;
  padding: 0 4px;
  text-align: center;
}
.ticker {
  width: 100%;
  height: 30px;
  font-size: 15px;
  background: var(--light-bg);
  line-height: 30px;
  padding: 0 6px;
  overflow: hidden;
}
.ticker ul {
  position: relative;
  list-style: none;
  height: 100%;
  padding: 0;
  margin: 0;
}
.ticker-item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding-right: 0;
  opacity: 0;
}
.ticker-item a {
  display: inline-block;
  width: auto;
  color: var(--color);
  white-space: nowrap;
  text-decoration: none;
  transition: transform 5s linear;
}
.ticker-item a:hover {
  color: var(--link);
}
.ticker-date {
  font-weight: bold;
  color: var(--link);
}
.ticker-title {
  margin-left: 10px;
}
.ticker-new {
  color: var(--red-color);
  font-weight: bold;
  margin-left: 10px;
  animation: blink 1s ease-in-out infinite alternate;
}
.fadeInDown {
  opacity: 0;
}
.fadeInDown.run {
  animation: fadeInDown 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
}
.fadeOutDown {
  opacity: 1;
}
.fadeOutDown.run {
  animation: fadeOutDown 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeOutDown {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(30px);
  }
}
@keyframes blink {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}
/*]]>*/</style>

最初に公開したコードにエラーありました

ふじやんさんがチェックしてくれて修正コードを教えてくれました

もし、この記事公開早々にコードをコピーした方が居たら現在公開しているコードに変えてください

m(__)m

ChatGPTに聞いて、そのまま動いてますので問題はないと思いますが、、、

要らない部分、もっと削れる部分があるかもしれません

しかし素人には、そんな難しい事は解りませんのでご了承ください


コード貼り付け時の注意点

HTMLカラー変更
カラーの変更・チェックを忘れないでください
var、、、じゃなく好きな色でも良いです

呟く時は

HTML呟きを書く場所
『テキスト』を書き換えればOKです
長文書いても文章が流れてきて全部見れますよ


HTMLスピード、時間調整
animTimeで切り替え時間の調整1秒=1000
const speedで長文の時に流れるスピード調節できます


誰も真似しそうにないカスタマイズですが良かったらどうぞ(^^;


その他のカスタマイズはコチラ

ZEROからF-lightへBloggerテーマ変更 | Trekking from Kochi

ZEROからF-lightへBloggerテーマ変更 | Trekking from Kochi

BloggerのテーマをZEROからF-liteへ変更、手直し中です