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

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

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

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

SEO

SEO(Search Engine Optimization)は、検索エンジンでウェブページがランキング上位に上がるように工夫する様々なテクニックの事です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

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

Q&A

解決済

2回答

1225閲覧

jsで1つだけの要素を、横に無限スクロールさせたい

Yariii

総合スコア61

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

SEO

SEO(Search Engine Optimization)は、検索エンジンでウェブページがランキング上位に上がるように工夫する様々なテクニックの事です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

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

0グッド

0クリップ

投稿2021/02/09 09:30

編集2021/02/09 09:48

現在、「WHAT's NEW!」という大きい見出しを、横に無限スクロールさせようとしています。
よくマガジンとかファッション系のWEBデザインで採用されているのを見かけますが、要は
WHAT's NEW! WHAT's NEW! WHAT's NEW! ←が電光掲示板みたいにずっと横にスクロールしてるエフェクトですね。
こういうやつhttps://codepen.io/ponzu/pen/KKdbqxgです。

このcodepenを参考に組もうと思ったのですが、seo的な疑問が出てきまして、
htmlのドキュメント的には「WHAT's NEW!」という言葉(タグ)は1つで良いのですが、しかし参考のjsをcodepenで試してみたら、レンダリングされたHTMLにはスクロールさせるタグが無限に生成されてしまっています。当たり前っちゃ当たり前ですが、これだと検索エンジンのbotが読むには不都合かなと思いました。
イメージ説明

そこでもしお分かりになれば教えていただきたいのですが、
レンダリングされたHTMLには1つの要素しかないけど、それを無限に横スクロールする(もしくは見せかける)方法ってあるのでしょうか?
この程度のことでSEOを気にするのもコスト的にどうかと思ったのですが、好奇心が勝ってしまい質問に至りました。
SEOからの視点ではもはや完全無視していいレベルですかね?
そこについても皆さんのご意見をいただけたら嬉しいです。

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

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

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

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

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

guest

回答2

0

ベストアンサー

試してみたら、レンダリングされたHTMLにはスクロールさせるタグが無限に生成されてしまっています。

無限には生成されていないですね。
画面幅に応じて必要な個数を複製しています。
そのうえで、先頭の要素を削除して、最後に追加するというのを繰り返しています。
ですので個数は固定です。

要素幅が小さければ複製しないと画面幅一杯でスクロールできないので仕方ない仕様かと。

投稿2021/02/10 03:57

編集2021/02/10 04:08
hatena19

総合スコア34075

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

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

Yariii

2021/02/10 04:31

本当ですね、無限ではないですね、失礼しました。 やはりSEO的には目を瞑って、念のため個数は少なくする努力にとどめた方がいい気がしてきました。 ありがとうございました。
guest

0

1つの要素を分割していますが・・・
見た目重視のページ程、情報価値は少ない。

js

1<!DOCTYPE html><html> 2<head><meta charset="UTF-8"> 3<style> 4.b span { display: inline-block; font-size: 40px; width: 40px; } 5</style> 6<body> 7<div class="b">WHAT's NEW!</div> 8<div class="b">WHAT's NEW!</div> 9<div class="b">WHAT's NEW!</div> 10<script> 11 12class A { 13 constructor (chars, interval) { 14 this.chars = [...chars]; 15 this.interval = interval; 16 this.timerId = null; 17 } 18 19 start () { 20 if (! this.timerId) 21 this.timerId = setInterval (this.remove.bind (this), this.interval); 22 return this; 23 } 24 25 stop () { 26 if (this.timerId) 27 this.timerId = crearInterval (this.timerId); 28 } 29 30 remove () { 31 let first = this.chars.shift (); 32 first.parentNode.appendChild (first); 33 this.chars.push (first); 34 return this; 35 } 36 37 static create (div, time = 500) { 38 let chars = [...div.textContent]; 39 [...div.childNodes].forEach (e=> e.remove ()); 40 chars.forEach (c=> div.appendChild (document.createElement ('span')).textContent = c); 41 let obj = new this (div.querySelectorAll ('span'), time); 42 obj.start (); 43 return obj; 44 } 45} 46 47const [a, b, c] = document.querySelectorAll ('.b'); 48A.create (a, 300); 49A.create (b, 600); 50A.create (c, 900); 51 52</script>

投稿2021/02/09 11:06

babu_babu_baboo

総合スコア616

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

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

Yariii

2021/02/10 04:28

ありがとうございます。 ちょっと動きがカクカクになりましたが、こういうやり方もあるんですね。 勉強になります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問