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

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

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

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

jQuery

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

Q&A

解決済

5回答

3290閲覧

クリックすると増減する数値に下限と上限を設定したい

popepe

総合スコア7

JavaScript

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

jQuery

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

0グッド

0クリップ

投稿2020/02/25 23:55

現在は左クリックをすると現在の数値に+1 右クリックをすると現在の数値から-1
される仕様になっているのですが、この数値に下限と上限を設定したいです。
(右クリックをしても0以下の数値にはならないように)

調べ方が悪いのか自分と似たような物を実装しようとしているケースが中々見つからず…
初歩的な質問かもしれませんがご教授願います。

html

1<button class="box" type="button">0</button></li>

jQuety

1<script> 2 $(function(){ 3 $('.box').on('click',function(){ 4 $(this).text(parseInt($(this).text())+1); 5 }); 6 $('.box').on('contextmenu',function(){ 7 $(this).text(parseInt($(this).text())-1); 8 }); 9}); 10<script>

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

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

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

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

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

guest

回答5

0

ベストアンサー

別に間違っているわけではないので新しく回答しますが、基本的なコードはNEO_PLANETT-777さんのコードを参考にしています。

HTML

1<script> 2 $(function() { 3 $('.box').on({ 4 'click': function() { 5 if ( parseInt($(this).text()) < 上限値 ) { 6 $(this).text(parseInt($(this).text()) + 1); 7 } 8 }, 9 10 'contextmenu': function(){ 11 if ( parseInt($(this).text()) > 下限値 ) { 12 $(this).text(parseInt($(this).text()) - 1); 13 } 14 } 15 }); 16 }); 17<script>

こんな書き方もできるよ、というご紹介です。

投稿2020/02/26 00:33

kyoya0819

総合スコア10429

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

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

popepe

2020/02/26 00:55

cssと違って本当に色々な書き方ができますね…。 参考にしたいと思います。ありがとうございました。
kyoya0819

2020/02/26 01:16

ここら辺は完全に好みなので、可読性に注意しながらお好きな記法を追求してってもよいいと思ったり。
guest

0

単純に$(this).text()を上限値、下限値で比較しては?

jQuery

1<script> 2 $(function() { 3 var tmp = parseInt($(this).text()); 4 $('.box').on('click',function() { 5 if ( tmp < 上限値 ) { 6 $(this).text(tmp + 1); 7 } 8 }); 9 10 $('.box').on('contextmenu',function(){ 11 if ( tmp > 下限値 ) { 12 $(this).text(tmp - 1); 13 } 14 }); 15 }); 16<script>

投稿2020/02/26 00:12

編集2020/02/26 00:18
NEO_PLANETT-777

総合スコア333

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

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

popepe

2020/02/26 00:53

書いて下さったコードを参考にやってみます。 ありがとうございました。
guest

0

ベストアンサー後ですが上限下限のロジックを<input type="range">に投げるご提案。

HTML

1<button class="box" type="button"> 2 0 3 <input style="display:none" type="range" value="0" min="-5" max="5"> 4</button>

JavaScript

1$(function(){ 2 $('.box').on('click',function() { 3 this.firstElementChild.stepUp(); 4 this.firstChild.data = this.firstElementChild.value; 5 }); 6 $('.box').on('contextmenu',function() { 7 event.preventDefault(); 8 this.firstElementChild.stepDown(); 9 this.firstChild.data = this.firstElementChild.value; 10 }); 11});

投稿2020/02/26 04:48

shinji709

総合スコア805

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

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

popepe

2020/03/30 14:41

気づかず返信遅れてすみません。 参考にします。ありがとうございます。
guest

0

  • 加算して上限をこえてたら上限まで戻す
  • 上限まで達したら加算しない

のどちらかで判断します

投稿2020/02/26 00:28

yambejp

総合スコア116835

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

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

yambejp

2020/02/26 00:28

$(function(){ $('.box').on('click contextmenu',function(e){ var min=0; var max=10; var num=parseInt($(this).text()); var add=0; if(e.type=="click" && num<max) add=1; if(e.type=="contextmenu" && num>min) add=-1; $(this).text(num+add); }); });
popepe

2020/02/26 00:54

このような書き方でも実装できるのですね。 こちらも参考にしてみます。この間の質問の時もありがとうございました。
guest

0

ご自身が作成したコードで設定してるときに parseInt してますよね
それと同じ感覚で処理すればいいのです

投稿2020/02/26 00:08

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

popepe

2020/02/26 00:58

自分が使っているコードの大半はネットから拾ってきたもの or 書いて頂いたものを改変したものなんです。 自分自身で書けるのは本当に簡単なモノしかできないので、質問させていただきました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問