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

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

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

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

jQuery

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

HTML

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

CSS

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

Q&A

解決済

4回答

2074閲覧

無限ループ最後の画像が表示されません。。

chiharu

総合スコア7

JavaScript

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

jQuery

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

HTML

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

CSS

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

0グッド

1クリップ

投稿2017/09/22 05:11

大変初歩的なミスかもしれないのですが、ご教示いただけると助かります。
何卒、よろしくお願いいたします。

###前提・実現したいこと
無限ループの横スライドを制作しています。
10枚の画像です。

###発生している問題・エラーメッセージ
最後の画像が表示されません。

###該当のソースコード

HTML

1<div id="loopslider"> 2<ul> 3<li><img src="img/img_01.png" width="500" height="500" alt="" /></li> 4<li><img src="img/img_02.png" width="500" height="500" alt="" /></li> 5<li><img src="img/img_03.png" width="500" height="500" alt="" /></li> 6<li><img src="img/img_04.png" width="500" height="500" alt="" /></li> 7<li><img src="img/img_05.png" width="500" height="500" alt="" /></li> 8<li><img src="img/img_06.png" width="500" height="500" alt="" /></li> 9<li><img src="img/img_07.png" width="500" height="500" alt="" /></li> 10<li><img src="img/img_08.png" width="500" height="500" alt="" /></li> 11<li><img src="img/img_09.png" width="500" height="500" alt="" /></li> 12<li><img src="img/img_010.png" width="300" height="500" alt="" /></li> 13</ul> 14</div><!--/#loopslider--> 15

CSS

1/*/////////////////////////////////////// 2slider 3//////////////////////////////////////*/ 4 5#loopslider { 6 margin: 0 auto; 7 width: 1000px; 8 height: 500px; 9 text-align: left; 10 position: relative; 11 overflow: hidden; 12} 13 14#loopslider ul { 15 height: 500px; 16 float: left; 17 display: inline; 18 overflow: hidden; 19} 20 21#loopslider ul li { 22 width: 500px; 23 height: 500px; 24 float: left; 25 display: inline; 26 overflow: hidden; 27} 28 29 #loopslider ul li img{ 30 width: 100%; 31 height: auto; 32 } 33 34/* ======================================= 35 ClearFixElements 36======================================= */ 37#loopslider ul:after { 38 content: "."; 39 height: 0; 40 clear: both; 41 display: block; 42 visibility: hidden; 43} 44 45#loopslider ul { 46 display: inline-block; 47 overflow: hidden; 48}

JS

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

###試したこと
画像の幅を変えてみたりしましたがダメでした。。

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

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

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

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

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

m.ts10806

2017/09/22 06:20 編集

「最後の画像が表示されません。」←現象再現しませんでした。最後の画像は「img/img_010.png」ですよね?再現するブラウザは何でしょうか?私はChromeで確認しました。
chiharu

2017/09/22 05:36

はい。画像の指定は合ってるんです。。
m.ts10806

2017/09/22 06:20 編集

私もコメントに、他の方も回答に書いているように再現しないようです。最後の画像のwidthが他より短いのは気になりますけども(それでも再現しません)。どのような画像を使っているかわかりませんが、背景色だけの画像とか数字を書いた画像とか、もっと分かりやすい画像を作って試してみてはどうでしょうか?
m.ts10806

2017/09/22 06:21

念のため、HTML・CSS・js全てを提示いただくことは可能ですか?他の要素が影響している可能性があります。
chiharu

2017/09/22 07:14

ありがとうございます!わかりやす画像で差し替えてみたりいろいろして、カラム落ちが原因と判明いたしました!お騒がせいたしました。ありがとうございました!
guest

回答4

0

ベストアンサー

再現できなかったので推測になってしまいますが、「最後だけ」という事はカラム落ちしてませんか?
リセットCSSなどで上手くullimarginpaddingを消せていない可能性が考えられます。

#loopslider ulに子要素のwidth分を掛けてCSS付与してるみたいですが、.width()で取得できるのは**paddingを含みません。**
paddingborderを含むwidthを取得したい場合は.outerWidth()を使う必要があります。

Javascript

1var listWidth = $('#loopslider_wrap').children('ul').children('li').outerWidth();

投稿2017/09/22 06:12

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

chiharu

2017/09/22 07:10

回答ありがとうございます!カラム落ちが原因でした! ありがとうございます!
guest

0

動くサンプル:https://jsfiddle.net/g411jwba/


Windows Firefoxで再現しませんでした。どの環境で10枚目が消えますか?


追記:

「消えた」とき何が起こっているかをデベロッパーツールで確認してみてください。aozukiさんのおっしゃるようにカラム落ちしている可能性があります。

【開発者ツールを使おう! カスタマイズするphpファイルを探す-その1 | RYUS blog】
http://ryus.co.jp/blog/customize-php-search-1/

【Web開発でよく使う、特に使えるChromeデベロッパー・ツールの機能 - Build Insider】
http://www.buildinsider.net/web/chromedevtools/01

【Chrome デベロッパーツールの使い方概要 | Web Tips】
http://weback.net/utility/1410/

【第1回 詳説:デベロッパーツールの使い方:Google Chrome版Firebug:デベロッパーツール取扱説明書|gihyo.jp … 技術評論社】
http://gihyo.jp/dev/feature/01/devtools/0001?page=2

投稿2017/09/22 05:53

編集2017/09/22 06:42
kei344

総合スコア69407

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

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

chiharu

2017/09/22 06:08

回答ありがとうございます! Mac Firefox、safari、chromeで消えてしまいます。。
kei344

2017/09/22 06:14

提示したものもですが?
chiharu

2017/09/22 06:31

いえ!すみません、ご提示いただいたものは正常に10枚目も表示されております。。
chiharu

2017/09/22 07:11

いろいろ教えていただきありがとうございます! カラム落ちが原因と判明いたしました! お騒がせして申し訳ございません。
guest

0

記載のコードをコピペしただけですが、10枚の場合も11枚の場合も(それ以外の場合も)、期待される動きとなっているように見えます。
https://jsfiddle.net/takmatz/09gcaq4o/

現象が確認できる環境、条件などを詳しく追記していただけないでしょうか?

投稿2017/09/22 05:53

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

chiharu

2017/09/22 06:15

回答ありがとうございます! 現象はMac Firefox、safari、chromeで消えてしまいます。
退会済みユーザー

退会済みユーザー

2017/09/22 06:30

kei344さん同様に現象を確認できません(指定のどのブラウザでも。 一点、上記のページを例とした場合、ループする際「11」と「1」の間に何も画像が表示されない領域が生まれますが、この領域のことを言われているのでしょうか?
chiharu

2017/09/22 07:12

回答ありがとうございます! いえ!間ではなく画像が消えてしまっていたのですが、カラム落ちと判明いたしました。 お騒がせして申し訳ございません。 ありがとうございました!
guest

0

どういう想定かはわかりませんが見た感じ動いているようですよ
「img/img_010.png」がじつは「img/img_10.png」とかそういう
レベルの話ではないでしょうか?

投稿2017/09/22 05:25

yambejp

総合スコア114829

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

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

chiharu

2017/09/22 05:38

回答ありがとうございます! 画像の指定は合ってるんです。例えば、上記HTMLに11枚目を足すと、10枚目は表示できて11枚目は表示されないんです。。
yambejp

2017/09/22 05:48

> HTMLに11枚目を足すと、10枚目は表示できて11枚目は表示されないんです。 そんなことないですけどね altをきちんと書いてみて下さい、画像が表示されなければaltが表示されているはずです
chiharu

2017/09/22 07:12

回答ありがとうございます! altきちんと記載いたしました。 カラムオチが原因と判明いたしました。 お騒がせいたしました。ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問