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

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

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

SCSSは、SassのCSSメタ言語です。Webページのスタイルを指定するCSSを効率的に記述することができます。ネストと呼ばれる入れ子構造で記述するため、CSSの全体の記述量を減らせる点が特徴です。さらに変数も利用できるため、変更や修正の際に少ない作業量で対応することもできます。

Ruby on Rails

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

JavaScript

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

HTML

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

Q&A

0回答

554閲覧

ボタンのアニメーションが発火しません

morfonica

総合スコア33

SCSS

SCSSは、SassのCSSメタ言語です。Webページのスタイルを指定するCSSを効率的に記述することができます。ネストと呼ばれる入れ子構造で記述するため、CSSの全体の記述量を減らせる点が特徴です。さらに変数も利用できるため、変更や修正の際に少ない作業量で対応することもできます。

Ruby on Rails

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

JavaScript

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

HTML

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

0グッド

1クリップ

投稿2021/08/19 11:45

編集2021/08/20 16:35

前提・実現したいこと

Ruby on Railsでwebアプリを作っています。

ボタンを押下した時に跳ねるようなアニメーションを実装中に以下の問題が発生しました。

発生している問題

イベントが何も起こりません。

該当のソースコード

view

1<td class="sympathy-btn"><%= render "public/sympathies/sympathy-btn", post: post %><div class="shadow"></div></td> 2 3部分テンプレート 4<% if post.sympathied_by?(current_customer) %> 5 <%= link_to post_sympathies_path(post), method: :delete, remote: true, class: "expand" do %> 6 <%= image_tag("sympathy.jpeg", size:"20x20") %> 7 <% end %> 8 <%= post.sympathies.count %> 9<% else %> 10 <%= link_to post_sympathies_path(post), method: :post, remote: true, class: "expand" do %> 11 <%= image_tag("sympathy.jpeg", size:"20x20") %> 12 <% end %> 13 <%= post.sympathies.count %> 14<% end %>

scss

1.sympathy-btn .cheer-btn { 2 font-family: Source Sans Pro; 3 font-size: 1rem; 4 line-height: 3.5em; 5 padding: 0 1.5em; 6 background: gold; 7 box-shadow: inset 0 -.125rem rgba(0,0,0,.2); 8 color: black; 9 border-radius: 5em; 10 cursor: pointer; 11 user-select: none; 12 transform-origin: 100% 100%; 13 14 &:focus { outline: 0; } 15} 16.shadow { 17 margin-top: -.325rem; 18 width: 100%; 19 height: .75rem; 20 background: radial-gradient(closest-side, gainsboro, transparent); 21 opacity: 0; 22}

js

1$("sympathy-btn").mousedown(function(){ 2 console.log("test") 3 // マウスのボタンが押されたときに発生するイベント 4 // 同じようなイベントとしてマウスが押されて離されたときに発生する click イベントがある 5 $(this).html("sympathy.jpeg").velocity({ 6 // velocity:jQueryのプラグイン。高機能で非常に軽快なアニメーションをする。 7 backgroundColorRed : "0", 8 translateY: "-1.5rem", 9 rotateZ: "-10deg" 10 }, 100, "easeOut").velocity({ 11 rotateZ: "8deg", 12 }, 150).velocity({ 13 translateY: "0", 14 rotateZ: "0" 15 }, 600, "easeOutBounce"); 16 17 $("+ .shadow", this).velocity({ 18 scale: "1.3", 19 opacity: "1" 20 }, 150).velocity("reverse", 600, "easeOutBounce"); 21 22}); 23 24$("cheer-btn").mousedown(function(){ 25 $(this).html("Recommended").velocity({ 26 backgroundColorRed : "0", 27 translateY: "-1.5rem", 28 rotateZ: "-10deg" 29 }, 100, "easeOut").velocity({ 30 rotateZ: "8deg", 31 }, 150).velocity({ 32 translateY: "0", 33 rotateZ: "0" 34 }, 600, "easeOutBounce"); 35 36 $("+ .shadow", this).velocity({ 37 scale: "1.3", 38 opacity: "1" 39 }, 150).velocity("reverse", 600, "easeOutBounce"); 40 41});

試したこと

https://deshinon.com/2019/03/02/omosiro-sugoi-button-css/
上記のサイトのぴょこんとするボタンを参考にしました。

html

1<figure> 2 <button>Recommend</button> 3 <div class="shadow"></div> 4</figure>

scss

1@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600); 2 3* { 4 box-sizing: border-box; 5 margin: 0; 6 border: 0; 7} 8 9html, body { height: 100%; } 10body { 11 display: flex; 12 justify-content: center; 13 align-items: center; 14 background: whitesmoke; 15} 16 17button { 18 font-family: Source Sans Pro; 19 font-size: 1rem; 20 line-height: 3.5em; 21 padding: 0 1.5em; 22 background: gold; 23 box-shadow: inset 0 -.125rem rgba(0,0,0,.2); 24 color: black; 25 border-radius: 5em; 26 cursor: pointer; 27 user-select: none; 28 transform-origin: 100% 100%; 29 30 &:focus { outline: 0; } 31} 32 33.shadow { 34 margin-top: -.325rem; 35 width: 100%; 36 height: .75rem; 37 background: radial-gradient(closest-side, gainsboro, transparent); 38 opacity: 0; 39}

js

1$("button").mousedown(function(){ 2 $(this).html("Recommended").velocity({ 3 backgroundColorRed : "0", 4 translateY: "-1.5rem", 5 rotateZ: "-10deg" 6 }, 100, "easeOut").velocity({ 7 rotateZ: "8deg", 8 }, 150).velocity({ 9 translateY: "0", 10 rotateZ: "0" 11 }, 600, "easeOutBounce"); 12 13 $("+ .shadow", this).velocity({ 14 scale: "1.3", 15 opacity: "1" 16 }, 150).velocity("reverse", 600, "easeOutBounce"); 17 18});

html()中に何を入れたらいいのかわからなかったので、imageををのまま入れても効果がありませんでした。
console.logをデベロッパーツールで確認してみましたが、来ていませんでした。

補足情報(FW/ツールのバージョンなど)

cloud9
rails version 5.2.6

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

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

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

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

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

webgoto

2021/08/20 04:32

とりあえず$("sympathy-btn") $("cheer-btn")はクラス名なので頭に`.`が必要だと思います。
morfonica

2021/08/20 09:41

しかし、console.logが来ませんでした。
webgoto

2021/08/20 10:58

.sympathy-btn要素が生成される前に、jsを実行しているということはないでしょうか。 もしそうなら、jsの読み込みを遅らす、または$(function(){...}) で囲ってみてください。
morfonica

2021/08/20 11:57

console.logきました!
morfonica

2021/08/20 12:03

ボタンを押したときにhtml()の中身が文字列で来てしまいました。 括弧の中身とかではなく、button("sympathy.jpeg");にしたらいいでしょうか?
webgoto

2021/08/20 12:40

どうされたいかわかりませんが、画像を使うなら.html('<img src="path/sympathy.jpeg">')にするなどhtmlで記載する必要があります。
morfonica

2021/08/20 16:32

html()の中身変えました! みたことがない画像出てきました。 .html('<img src="path/sympathy.jpeg">')でも .html('<img src="sympathy.jpeg">')でも同じみたことない画像が出てきました。
webgoto

2021/08/20 23:57

htmlのimgタグの使い方を調べて調整してください
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問