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

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

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

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

CSS

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

Q&A

解決済

2回答

1495閲覧

スライドショーが無限ループしない(javascript)

i0k62

総合スコア3

JavaScript

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

CSS

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

0グッド

0クリップ

投稿2020/06/16 03:49

編集2020/06/16 04:13

スライドショーが無限ループしない

初めてjavascriptを個人サイトに追加しました
Webを参考に記述したところ
「動作はするが無限ループをしない」状態で
調べても解決ができません

どうか詳しい方にご助力頂きたいです
宜しくお願い致します

html

1<div class="slide_show"> 2 3 <div id="loopslider"> 4 <ul> 5 <li><img src="slide01.png" alt="" /></li> 6 <li><img src="slide02.png" alt="" /></li> 7 <li><img src="slide03.png" alt="" /></li> 8 <li><img src="slide04.png" alt="" /></li> 9 <li><img src="slide05.png" alt="" /></li> 10 <li><img src="slide06.png" alt="" /></li> 11 <li><img src="slide07.png" alt="" /></li> 12 <li><img src="slide08.png" alt="" /></li> 13 </ul> 14 </div> 15 </div> 16

javascript

1<script> 2 $(function() { 3 $('#loopslider').each(function() { 4 var loopsliderWidth = $(this).width(); 5 var loopsliderHeight = $(this).height(); 6 $(this).children('ul').wrapAll('<div id="loopslider_wrap"></div>'); 7 8 var listWidth = $('#loopslider_wrap').children('ul').children('li').width(); 9 var listCount = $('#loopslider_wrap').children('ul').children('li').length; 10 11 var loopWidth = (listWidth) * (listCount); 12 13 $('#loopslider_wrap').css({ 14 top: '0', 15 left: '0', 16 width: ((loopWidth) * 2), 17 height: (loopsliderHeight), 18 overflow: 'hidden', 19 position: 'absolute' 20 }); 21 22 23 loopsliderPosition(); 24 25 function loopsliderPosition() { 26 $('#loopslider_wrap').css({ 27 left: '0' 28 }); 29 $('#loopslider_wrap').stop().animate({ 30 left: '-' + (loopWidth) + 'px' 31 }, 10000, 'linear'); 32 setTimeout(function() { 33 loopsliderPosition(); 34 }, 10000); 35 }; 36 37 $('#loopslider_wrap ul').clone().appendTo('#loopslider_wrap'); 38 }); 39 }); 40</script>

css

1 2.slide_show { 3 background: url("https://~.jpg")no-repeat center top; 4 background-size: 100%; 5 height: 123vw; 6} 7 8.loopslider { 9 margin: 0 auto; 10 width: 80%; 11 height: 60vw; 12 text-align: left; 13 position: relative; 14 top: 65vw; 15 overflow: hidden; 16} 17 18.loopslider ul { 19 height: 100vw; 20 float: left; 21 display: inline; 22 overflow: hidden; 23 padding: 0; 24 margin: 0; 25} 26 27.loopslider ul li { 28 width: 26vw; 29 height: 60vw; 30 float: left; 31 display: inline; 32 overflow: hidden; 33 padding: 0.1rem; 34}
試したこと

●count = (count + 1) % imgLen;
という記述を足してみる

●他の記述の仕方を試してみる(動作せず)

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

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

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

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

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

sousuke

2020/06/16 04:00

コードはコードブロックで囲んで下さい。 あとこれでコード全部ですか?jqueryは?
i0k62

2020/06/16 04:14

有り難うございます。 コードを囲みました コードは記したものが全てで 動きますが、無限ループはしません
i0k62

2020/06/16 08:42

お時間頂き有り難うございます! URL拝見致しました! Lankor_Mhyさんから見て、特に記述に間違いもありませんでしょうか
Lhankor_Mhy

2020/06/16 08:47

文法上の間違いはないと思いますよ。 ただ問題は、想定通りに動いていない、ということですよね?
i0k62

2020/06/16 08:59

有り難うございます、 そうなんです、、、、 なので他に記述の仕方やここを変えてみたら?などの知恵を 詳しい方から頂けたらと思っていたのです 恥ずかしながら私自身は書いてある事の半分くらいしか理解出来ていないので・・・
Lhankor_Mhy

2020/06/16 09:10

想定している動作がどのようなものか、がわからないので、このコードが正しいのか間違っているのかがわかりません。 想定している動作をご提示いただけますか?
i0k62

2020/06/16 09:41

何度も申し訳ありません、 http://black-flag.net/jquery/20110707-3305.html 上記URLに表示されている猫画像のスライダーの様なものが理想で、 記述もこちらを引用しております もしかしたらスライダーと関係ない記述が影響している可能性もあるので、 お見せ出来ないのが不本意なのですが一旦質問を閉じたいと思います (業務委託の域になってしまうため) お付き合い頂き記述に間違いなしとご確認頂けましたので、十分な成果です。 全体的に不明瞭な中、何度もお時間割いて頂き有り難うございました 回答者が皆怖いと聞いていたので、Lhankor_Mhyさんにお付き合い頂き見識が変わりました 心より感謝申し上げます
Lhankor_Mhy

2020/06/16 10:08

あー、わかりました。 回答します。
guest

回答2

0

cssだけで行けると思ったら無理ゲーやった。
算数強い人なら「画像のwidthが一定」の条件で
・画像の数
・表示領域のwidth
とか与えてdelayと初期位置計算できそうな気もするけど自分は考えただけで吐き気するわ。
固定すれば調整するだけだし楽ね…https://jsfiddle.net/bpzek1cf/

html

1<div class="main"> 2 <img style="animation-delay:0s;" src="http://placehold.jp/0000ff/ffffff/100x100.png?text=slide01.png" alt="" /> 3 <img style="animation-delay:4s;" src="http://placehold.jp/00ff00/ffffff/100x100.png?text=slide02.png" alt="" /> 4 <img style="animation-delay:8s;" src="http://placehold.jp/ff0000/ffffff/100x100.png?text=slide03.png" alt="" /> 5 <img style="animation-delay:12s;" src="http://placehold.jp/ffff00/ffffff/100x100.png?text=slide04.png" alt="" /> 6 <img style="animation-delay:16s;" src="http://placehold.jp/ff00ff/ffffff/100x100.png?text=slide05.png" alt="" /> 7 <img style="animation-delay:20s;" src="http://placehold.jp/00ffff/ffffff/100x100.png?text=slide06.png" alt="" /> 8</div>

css

1 2.main { 3 overflow: hidden; 4 position: relative; 5 width: 200px; 6 height: 100px; 7 margin: 0 auto; 8} 9.main > img{ 10 position: absolute; 11 top: 0; 12 left: 0; 13 transform: translateY(200%); 14 display: inline-block; 15 animation: loop 24s linear infinite; 16} 17.main:hover img { 18 animation-play-state: paused; 19} 20@keyframes loop { 21 0% { transform: translateX(200%) translateY(0%); } 22 50% { transform: translateX(-100%) translateY(0%); } 23 60% { transform: translateX(-100%) translateY(300%); } 24 70% { transform: translateX(200%) translateY(300%); } 25 100% { transform: translateX(200%) translateY(0%); } 26}

投稿2020/06/16 11:59

sousuke

総合スコア3830

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

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

i0k62

2020/06/17 06:28

凄い!動きました! 見本と違った記述が出来て素晴らしいです・・! ベストアンサー済んでしまったのですが、こちらも参考にさせて頂きます! お時間割いて頂き本当に有り難う御座います・・!
guest

0

ベストアンサー

サンプル

css

1.slide_show { 2 background: url("https://~.jpg")no-repeat center top; 3 background-size: 100%; 4 height: 123vw; 5} 6 7#loopslider { /* ← .と#の間違い */ 8 margin: 0 auto; 9 width: 80%; 10 height: 60vw; 11 text-align: left; 12 position: relative; 13 top: 65vw; 14 overflow: hidden; 15} 16 17#loopslider ul { /* ← .と#の間違い */ 18 height: 100vw; 19 float: left; 20 display: inline; 21 overflow: hidden; 22 padding: 0; 23 margin: 0; 24} 25 26#loopslider ul li { /* ← .と#の間違い */ 27 width: 26vw; 28 height: 60vw; 29 float: left; 30 display: inline; 31 overflow: hidden; 32 /* padding: 0.1rem; ← カラム落ちしてたので削除 */ 33 34}

js

1// ↓元記事のコードと比べると、これが抜けている 2 $('#loopslider_wrap ul').css({ 3 width: (loopWidth) 4 }); 5

投稿2020/06/16 10:21

Lhankor_Mhy

総合スコア36960

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

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

i0k62

2020/06/16 11:00

あなたが神か・・・! 無事ループ致しました!! 最後まで本当に有り難う御座います・・!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問