質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

2回答

302閲覧

HTML 流れる文字を実装したい

makiharajin_74

総合スコア13

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2024/03/27 08:09

実現したいこと

リンク内容
上記のように Webページの**自分らしい、その瞬間を。**の部分を左から流れるように表示させたい

発生している問題・分からないこと

上記のURLのように真似をしてみて実施してみたが文字が消えてしまった。
イメージ説明

該当のソースコード

HTML

1<div class="top-header-nav-area_tagline"> 2 <p class="jpn">自分らしい、その瞬間を。</p> 3 <p class="eng">Own your time.</p> 4 </div>

CSS

1.top-header-nav-area_tagline { 2 padding-top: 2px; 3 color: #666; 4 letter-spacing: 0.1em; 5} 6.top-header-nav-area_tagline .jpn { 7 display: block; 8 margin-bottom: 8px; 9 font-size: 2.1rem; 10 line-height: 1.4; 11 opacity: 0; 12} 13.top-header-nav-area_tagline .jpn span { 14 display: inline-block; 15 opacity: 0; 16 transform: translateY(14px); 17 transition-property: all; 18 transition-timing-function: cubic-bezier(.12,.59,.41,.95); 19 transition-duration: 0.9s; 20} 21.top-header-nav-area_tagline .jpn span.move { 22 opacity: 1; 23 transform: translateY(0); 24}

jQuery

1var spWindow = 559; 2var tbWindow = 959; 3 4 5 6$(function() { 7 // ローディング画面 8 //page-fade 9 var loadingImg = $(".loading-img"); 10 loadingImg.fadeOut(500,contFadeIn); 11 function contFadeIn(){ 12 $("#contents-wrap").addClass('fade-in'); 13 } 14 15 var underPageTtlEng = $(".page-ttl .eng"); 16 17 var windowWidth = document.documentElement.clientWidth; 18 if(windowWidth <= spWindow) { 19 //画面サイズ559以下 20 setTimeout(function(){ 21 pageTtlMove(); 22 },800); 23 setTimeout(function(){ 24 underPageTtlEng.addClass('fade-in'); 25 },1400); 26 //画面サイズ559以下 27 $(window).scroll(function (){ 28 $('.fadein').each(function(){ 29 var elemPos = $(this).offset().top, 30 scroll = $(window).scrollTop(), 31 windowHeight = $(window).height(); 32 if (scroll > elemPos - windowHeight + 120){ 33 $(this).addClass('scrollin'); 34 } 35 }); 36 }); 37 } else if (windowWidth <= tbWindow) { 38 //画面サイズ959以下 39 setTimeout(function(){ 40 pageTtlMove(); 41 },800); 42 setTimeout(function(){ 43 underPageTtlEng.addClass('fade-in'); 44 },1400); 45 //画面サイズ959以下 46 $(window).scroll(function (){ 47 $('.fadein').each(function(){ 48 var elemPos = $(this).offset().top, 49 scroll = $(window).scrollTop(), 50 windowHeight = $(window).height(); 51 if (scroll > elemPos - windowHeight + 250){ 52 $(this).addClass('scrollin'); 53 } 54 }); 55 }); 56 } else { 57 //画面サイズ960以上 58 setTimeout(function(){ 59 pageTtlMove(); 60 },800); 61 setTimeout(function(){ 62 underPageTtlEng.addClass('fade-in'); 63 },1600); 64 //画面サイズ960以上 65 $(window).scroll(function (){ 66 $('.fadein').each(function(){ 67 var elemPos = $(this).offset().top, 68 scroll = $(window).scrollTop(), 69 windowHeight = $(window).height(); 70 if (scroll > elemPos - windowHeight + 350){ 71 $(this).addClass('scrollin'); 72 } 73 }); 74 }); 75 } 76 function pageTtlMove() { 77 78 var container = $(".page-ttl .jpn"); 79 var speed = 90; 80 var content = container.html(); 81 var text = $.trim(content); 82 var ttlHtml = ""; 83 84 text.split("").forEach(function(v) { 85 ttlHtml += '<span>' + v + '</span>'; 86 }); 87 88 container.html( ttlHtml ); 89 90 var txtNum = 0; 91 container.css({opacity: 1}); 92 setInterval(function() { 93 container.find('span').eq(txtNum).addClass("move");; 94 txtNum++ 95 }, speed); 96 } 97});

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

上記参考サイトを真似してみた。
しかし、文字が表示されなくなってしまった。

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

横方向のアニメーションだけでしたら、以下のようにCSSで実装すると楽かもしれません。
参考: 【CSSアニメーション】画像が横スクロールし続ける無限ループの作り方 | Rita-plus.web

投稿2024/03/27 09:23

Refrain

総合スコア537

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

どこまで再現性をたかめたいかによりますがこんな感じで

javascript

1<script> 2window.addEventListener('DOMContentLoaded',()=>{ 3 const jpn=document.querySelector('.top-header-nav-area_tagline .jpn'); 4 const eng=document.querySelector('.top-header-nav-area_tagline .eng'); 5 const txt=jpn.textContent; 6 jpn.textContent=""; 7 jpn.style.display="flex"; 8 eng.style.opacity=0; 9 const fragment = txt.split("").reduce((x,y)=>(x.append(Object.assign(document.createElement('div'),{textContent:y,})),x),document.createDocumentFragment()); 10 const keyframes=[{opacity:0,transform:'translateY(20px)',},{opacity:1,transform:'translateY(0px)'}]; 11 const duration=1000; 12 const offset=100; 13 const fill='forwards'; 14 const getPlayer=(targetElement,delay=0)=>new Animation(new KeyframeEffect(targetElement,keyframes,{duration,fill,delay}),document.timeline); 15 [...fragment.children].forEach(async(x,y,z)=>{ 16 x.style.opacity=0; 17 const player=getPlayer(x,y*offset); 18 player.play(); 19 await player.finished; 20 if(z.length==y+1){ 21 jpn.textContent=txt; 22 getPlayer(eng).play(); 23 } 24 }); 25 jpn.appendChild(fragment); 26}); 27</script> 28<style> 29</style> 30<div class="top-header-nav-area_tagline"> 31<p class="jpn">自分らしい、その瞬間を。</p> 32<p class="eng">Own your time.</p> 33</div>

投稿2024/03/28 00:56

yambejp

総合スコア115010

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

makiharajin_74

2024/04/04 03:11

回答ありがとうございます。 試したところ問題が解決しました。ただ、コードが少し複雑と感じたためサンプルとして使わせていただきました。 そのため、ベストアンサーに選ばせていただきました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問