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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

JavaScript

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

HTML

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

CSS

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

Q&A

解決済

1回答

1190閲覧

jsで背景画像をスライド、切り替えしたい

divclass123

総合スコア35

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

JavaScript

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

HTML

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

CSS

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

0グッド

0クリップ

投稿2021/01/08 11:20

このコードのgithub

前提・実現したいこと

jsを用いて、背景画像を切り替えをしたい

発生している問題・エラーメッセージ

おそらく画像の読み込みが上手く行ってなくて

イメージ説明

上記のようなエラーが出ます

画像のパスの指定や、設置は上手くいってると思うのでなぜこのエラーが出るのか分かりません

画像のアドレスを指定すれば上手く表示されるのですが、

js

1$(function() { 2 var i = 1; 3 setInterval(function() { 4 if(i > 3) i = 1; 5 $("#slideshow").css("background-image","url('/app/assets/images/coffee"+i+".jpg')"); 6 i++; 7 }, 1000 8 ); 9});

このようなコードだと、アドレスでは機能しません、、、。
()

該当のソースコード

views/shared/_form.html.erb

erb

1<div id="slideshow"> 2<div class="registration-main"> 3 4<%= form_with model: @user, local: true do |f| %> 5 6<div class='form-wrap'> 7 <div class='form-header'> 8 <h1 class='form-header-text'> 9 会員情報入力 10 </h1> 11 </div> 12 <% flash.each do |message_type, message| %> 13 <div class="alert-<%= message_type %>"><%= message %></div> 14 <% end %> 15 <%= render 'shared/error_messages', object: f.object %> 16 17 <div class="form-groups"> 18 <div class="form-group"> 19 <div class='form-text-wrap'> 20 <label class="form-text">ニックネーム</label> 21 <span class="indispensable">必須</span> 22 </div> 23 <%= f.text_area :nickname, class:"input-default", id:"nickname", placeholder:"例) セイレーン", maxlength:"40" %> 24 </div> 25 <div class="form-group"> 26 <div class='form-text-wrap'> 27 <label class="form-text">プロフィール画像を設定</label> 28 <span class="indispensable">任意</span> 29 </div> 30 <%= f.file_field :image, class:"input-default" %> 31 </div> 32 <% unless current_user && logged_in?%> 33 <div class="form-group"> 34 <div class='form-text-wrap'> 35 <label class="form-text">メールアドレス</label> 36 <span class="indispensable">必須</span> 37 </div> 38 <%= f.email_field :email, class:"input-default", id:"email", placeholder:"PC・携帯どちらでも可", autofocus: true %> 39 </div> 40 <div class="form-group"> 41 <div class='form-text-wrap'> 42 <label class="form-text">パスワード</label> 43 <span class="indispensable">必須</span> 44 </div> 45 <%= f.password_field :password, class:"input-default", id:"password", placeholder:"6文字以上の半角英数字" %> 46 <p class='info-text'>※英字と数字の両方を含めて設定してください</p> 47 </div> 48 <div class="form-group"> 49 <div class='form-text-wrap'> 50 <label class="form-text">パスワード(確認)</label> 51 <span class="indispensable">必須</span> 52 </div> 53 <%= f.password_field :password_confirmation, class:"input-default", id:"password-confirmation", placeholder:"同じパスワードを入力して下さい" %> 54 </div> 55 <% end %> 56 </div> 57 58 <div class='register-btn'> 59 <% if current_user && logged_in? %> 60 <%= f.submit "更新",class:"register-red-btn"%> 61 <% else %> 62 <%= f.submit "会員登録" ,class:"register-red-btn" %> 63 <% end %> 64 </div> 65 66 <% unless current_user?(@user) %> 67 <div class="signin"> 68 <p>アカウントをお持ちですか?</p> 69 <%=link_to "ログインする",login_path, class: "signin-path"%> 70 </div> 71 <% end %> 72 73 <p class='register-info'>本人情報の登録について</p> 74 75</div> 76 77<% end %> 78</div> 79</div>

scss

1#slideshow{ 2 width: 100%; 3 height: 100%; 4 //background-image: url("/app/assets/images/coffee1.jpg"); 5} 6

試したこと

jpg形式の保存を試みた。

アドレスだと上手く表示されるので、

js

1$(function() { 2 var i = 1; 3 setInterval(function() { 4 if(i > 3) i = 1; 5 $("#slideshow").css("background-image","url('画像のアドレス')"); 6 i++; 7 }elseif (i = 2){ 8 $("#slideshow").css("background-image","url('画像のアドレス')"); 9 i++; 10 }elseif(i = 3){ 11 $("#slideshow").css("background-image","url('画像のアドレス')"); 12 i++; 13 } 14 ); 15});

とか、やって見ましたが、jsの記法にそこまで詳しくないで、構文エラーが出てしまいました。

一番いいのは、jpg画像がしっかりと表示されることなのですが、、、。

また、cssで

scss

1#slideshow{ 2 width: 100%; 3 height: 100%; 4 background-image: url("/app/assets/images/coffee1.jpg"); 5} 6

で、vscodeでコマンドキーを押しながら、("/app/assets/images/coffee1.jpg")
をクリックしたら、しっかりその画像が表示されたのですが、
開発環境のブラウザには反映されてませんでした。。。

cssも,画像アドレスを指定すれば表示されるのでよく分かりません。。。

vscodeでコマンドを押しながら("/app/assets/images/coffee1.jpg")
をクリックしたらその画像が表示されるということはパスの指定は間違ってないはずなのですが、、、

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

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

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

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

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

mattari_panda

2021/01/09 06:56

こちらではディレクトリ構成がわからないので、まずはローカルサーバー上のディレクトリにきちんと画像があるかどうか調べてみてはいかがでしょうか? https://localhost:3000/app/assets/images/ ここに画像があるかどうか、そもそも/images/のディレクトリがあるかどうかです。
divclass123

2021/01/09 23:13

ご回答ありがとうございます! ディレクトリ構成はしっかりとしていると自分では思ってます、、! そのような疑問が来ると予想していたので、githubも載せさせていただきました! 一応jqueryのライブラリ?を使うことで背景のスライドを実現できました 引き続きよろしくお願いします。
guest

回答1

0

自己解決

https://urashimablog.com/2019/07/13/%E4%B8%80%E7%95%AA%E5%88%86%E3%81%8B%E3%82%8A%E3%[…]9A%84%E3%81%AB%E5%88%87%E3%82%8A%E6%9B%BF%E3%81%88%E3%82%8B/

大学生うらしまブログ大学生うらしまブログ
[レスポンシブ対応]背景画像をスライドショーできるプラグインjQuery.BgSwitcher | うらしまブログ
簡単!!背景画像をスライドショーできるプラグイン「jQuery.BgSwitcher」の使い方を紹介します。レスポンシブにも対応しています。
2019年7月13日

投稿2021/01/09 23:10

divclass123

総合スコア35

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問