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

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

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

Shopifyとは、ECサイト向けのプラットフォームを提供している企業。さらに、その企業が提供するオンラインストアやPOSシステムを指します。高いデザイン性とカスタマイズ性が評価され、世界各国のネットショップで使用されています。

HTML5

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

jQuery

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

Q&A

1回答

820閲覧

jQueryを使ってshopify buy ボタンを表示・非表示させる

kazu25

総合スコア27

Shopify

Shopifyとは、ECサイト向けのプラットフォームを提供している企業。さらに、その企業が提供するオンラインストアやPOSシステムを指します。高いデザイン性とカスタマイズ性が評価され、世界各国のネットショップで使用されています。

HTML5

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

jQuery

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

0グッド

0クリップ

投稿2020/09/06 10:17

編集2020/09/06 10:22

現在、web上にshopifyのbuy buttonを設置しようとしているのですが、下記のような問題が出てしまいました。

以下のことを実現させたいです

.contact-sendをdisabledにして表示し、 その後、ユーザーがチェックボックスをチェックし、いくつかの入力ボックスの値を入力した後に、この.contact-sendボタンを非表示にすると同時に、shopify-btn(デフォルトでは表示させていない)を表示する

shopify-btnに対して直接CSSやjqueryをあてるのはiframeが含まれているので、困難になるだろう思い、この方法を考えました

html

1<div class="contact-send"> 2 <input type="submit" value="Register payment info" disabled> 3</div> 4<div class="shopify-btn"><!--実際のsyopifyのbuy buttonをwrapperとして囲み、jqueryでこの要素を操作しています --> 5 <div id='product-component-11111111111111'></div> <!--実際のsyopifyのbuy button --> 6</div>

jQuery

1function shopify_btn_display(tel_value_1, tel_value_2, tel_value_3){ 2 var checkbox_value = jQuery("input[type='checkbox']").is(":checked") 3 var phone_value = 0 4 if(tel_value_1 == 1 && tel_value_2 == 1 && tel_value_3 == 1){ 5 phone_value = 1 6 } 7 if(checkbox_value == 1 && phone_value ==1){ 8 jQuery(".contact-send").hide(); 9 jQuery(".shopify-btn").show('fast'); 10 }else{ 11 jQuery(".contact-send").show(); 12 jQuery(".shopify-btn").hide(); 13 } 14 }

.contact-sendは正常に動作しています(表示/非表示)が、shopify-btnは表示されません。なぜ表示されないのか全く分からないです。また、クロームの開発者ツールを開いたり、画面サイズを変更したりするとこのshopify-btnが表示されます。

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

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

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

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

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

guest

回答1

0

JavaSuript

1var checkbox_value = jQuery("input[type='checkbox']").is(":checked")

の結果はTrue/Falseなので判定は1,0でできますが
判定等揃えましょう

JavaSuript

1function shopify_btn_display(tel_value_1, tel_value_2, tel_value_3){ 2 var checkbox_value = jQuery("input[type='checkbox']").is(":checked") 3 var phone_value = false; 4 if(tel_value_1 == true && tel_value_2 == true && tel_value_3 == true){ 5 phone_value = true; 6 } 7 if(checkbox_value == true && phone_value == true){ 8 jQuery(".contact-send").hide(); 9 jQuery(".shopify-btn").show('fast'); 10 }else{ 11 jQuery(".contact-send").show(); 12 jQuery(".shopify-btn").hide(); 13 } 14}

tel_value_1, tel_value_2, tel_value_3 の変数と処理記載がありませんが
記載もれですか?
一応入力判定されていると仮定しておきます。
そうすると

  • チェックボックスのどれか一つ以上Onの状態
  • 入力項目3箇所すべてに入力があった場合

の場合
"shopify-btn"がアニメーション表示される

  • それ以外の場合

"contact-send"が表示される

でよろしいのでしょうか?

投稿2020/09/19 23:57

kuma_kuma_

総合スコア2506

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問