私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.132 +

みんなの評価 :
レスフィルター : (試験中)
確かに今から変更しても
よほど変なコードを書いていない限り問題も出ないでしょうし
変えて欲しいですね
よほど変なコードを書いていない限り問題も出ないでしょうし
変えて欲しいですね
そもそも関数のときからホイスティングが嫌なら宣言文じゃなく宣言式使って変数に代入すりゃいいだけだったんだ。
クラスだってせっかく文・式両方用意しといて何やってんだと思った。
確かに機能的には困るものではないが、ソースファイル上のコードレイアウトが無意味に制限されるよね。
あほに合わせたせいで。
関数でもクラスでもいいけど、詳細な実装は下に置いといて、上から抽象度の高いコードをサッと読めるってレイアウト好きなやついるだろ。
もしかしたらダメだと言うやつもいるかもしれんがその是非は問題じゃない。なんでそれを言語仕様で制限されんとならんのじゃということ。
クラスだってせっかく文・式両方用意しといて何やってんだと思った。
確かに機能的には困るものではないが、ソースファイル上のコードレイアウトが無意味に制限されるよね。
あほに合わせたせいで。
関数でもクラスでもいいけど、詳細な実装は下に置いといて、上から抽象度の高いコードをサッと読めるってレイアウト好きなやついるだろ。
もしかしたらダメだと言うやつもいるかもしれんがその是非は問題じゃない。なんでそれを言語仕様で制限されんとならんのじゃということ。
勢いというか思想というか、が強すぎてちょっと引くけど
>詳細な実装は下に置いといて、上から抽象度の高いコードをサッと読めるってレイアウト好きなやつ
はい
好きです
>詳細な実装は下に置いといて、上から抽象度の高いコードをサッと読めるってレイアウト好きなやつ
はい
好きです
あのーjQueryってDOM操作用ライブラリなんですけど。
最近は調子にのって盛り込んだ本分と関係ない便利機能はコアから取り除いていってるんですけど。
最近は調子にのって盛り込んだ本分と関係ない便利機能はコアから取り除いていってるんですけど。
調子に乗って盛り込んだわけじゃなくて、昔はCSSのアニメーションとかなかったし
Ajax周りの互換性がブラウザごとになくて、必要だから入れたんだよ
Ajax周りの互換性がブラウザごとになくて、必要だから入れたんだよ
>詳細な実装は下に置いといて、上から抽象度の高いコードをサッと読めるってレイアウト好きなやつ
いや、普通に考えると、1クラスで1ファイルにして、
それをimportするのが普通なので、そもそもやり方が悪いとしか
いや、普通に考えると、1クラスで1ファイルにして、
それをimportするのが普通なので、そもそもやり方が悪いとしか
まあ確かにimport使って話だなw
でもimportはIEは言うまでもなく、Firefoxは現在の59は対応してないし(次の60から対応する)
Androidも最新以外は対応してないという状況だから
スマホ・タブレット対応するならきついだろう。
だからといって諦める必要はなく、そこででてくるのがbabelなわけ
babelを使ってビルドしてしまえば古いブラウザでも対応できる
でもimportはIEは言うまでもなく、Firefoxは現在の59は対応してないし(次の60から対応する)
Androidも最新以外は対応してないという状況だから
スマホ・タブレット対応するならきついだろう。
だからといって諦める必要はなく、そこででてくるのがbabelなわけ
babelを使ってビルドしてしまえば古いブラウザでも対応できる
それが普通だとは思いませんでした
みんなインポートっていうのを使ってるんですか?
みんなインポートっていうのを使ってるんですか?
俺はずっと前からモジュール使ってるな。
メンテナンス性をあげようと思ったらファイルに分けるのが普通だし、
昔から <script>を複数書いてたでしょ?
それも多くなりパフォーマンスが気になりだしたから
ファイル結合から始まって、最終的にモジュールにして
webpackとかでビルドするようになったな
メンテナンス性をあげようと思ったらファイルに分けるのが普通だし、
昔から <script>を複数書いてたでしょ?
それも多くなりパフォーマンスが気になりだしたから
ファイル結合から始まって、最終的にモジュールにして
webpackとかでビルドするようになったな
lodashのdelay関数がsetTimeoutより優れている部分は何ですか?
setTimeoutが発動する前に同じ種類のsetTimeoutを実行しようとしたら
前の分はキャンセルする
という処理をしたいのですが
一番いい方法はどういうものでしょうか?
lodashのdelayはそういう機能を追加してるんじゃないかとも思ったのですが
ほとんどsetTimeoutと同じっぽいですね
前の分はキャンセルする
という処理をしたいのですが
一番いい方法はどういうものでしょうか?
lodashのdelayはそういう機能を追加してるんじゃないかとも思ったのですが
ほとんどsetTimeoutと同じっぽいですね
setTimeoutやdelayの第三引数にchannelを指定したら
その前の同名channelのタイマーはキャンセルするみたいなイメージです
その前の同名channelのタイマーはキャンセルするみたいなイメージです
ちょとラップして書けばいいだけじゃん
timeridと種類関連付けてmapで持っておけばいいだけなんだから
timeridと種類関連付けてmapで持っておけばいいだけなんだから
「表のセルをクリックしたらその列のヘッダーセルの色を変える」とかjquery使わないと面倒くさくない?
>>819
> 「表のセルをクリックしたらその列のヘッダーセルの色を変える」とかjquery使わないと面倒くさくない?
面倒くさいだろうけどお題が小さいw
jQuery使って数行なら、jQuery使わなくても、その2倍ぐらいで書けるので
面倒くさくない、頑張ればできるって言いそうw
同じ2倍でも1000行と2000行じゃ大きな差なんだけどね
作ってみた
http://jsfiddle.net/rmhzz1c4/
jQueryで6行、jQuery使わないならその2倍で12行ぐらいかな?
(コードゴルフ的なのは禁止で)
> 「表のセルをクリックしたらその列のヘッダーセルの色を変える」とかjquery使わないと面倒くさくない?
面倒くさいだろうけどお題が小さいw
jQuery使って数行なら、jQuery使わなくても、その2倍ぐらいで書けるので
面倒くさくない、頑張ればできるって言いそうw
同じ2倍でも1000行と2000行じゃ大きな差なんだけどね
作ってみた
http://jsfiddle.net/rmhzz1c4/
jQueryで6行、jQuery使わないならその2倍で12行ぐらいかな?
(コードゴルフ的なのは禁止で)
classで切り替えるとして、これでいいの?
document.getElementById('targetTd').addEventListener( 'click', function(e){
var children = e.target.parentNode.getElementsByTagName('th')
for(var i=children.length-1; 0<=i; i-- )
children[i].classList.toggle('highlight');
}, false );
ほとんどの場合<th>は<tr>の最初にあるだろうから以下のほうが短い
document.getElementById('targetTd').addEventListener( 'click', function(e){
e.target.parentNode.firstElementChild.classList.toggle('highlight');
}, false );
document.getElementById('targetTd').addEventListener( 'click', function(e){
var children = e.target.parentNode.getElementsByTagName('th')
for(var i=children.length-1; 0<=i; i-- )
children[i].classList.toggle('highlight');
}, false );
ほとんどの場合<th>は<tr>の最初にあるだろうから以下のほうが短い
document.getElementById('targetTd').addEventListener( 'click', function(e){
e.target.parentNode.firstElementChild.classList.toggle('highlight');
}, false );
特定のtdではなく特定のテーブルや全テーブルの全部のtdだったら
documentやtable elementに対してaddEventListenerして、1行目でe.target.tagNameを見ればいいな
documentやtable elementに対してaddEventListenerして、1行目でe.target.tagNameを見ればいいな
>>822
動かん
ぱっと見でもクリックした列を判定するコードがないし
なんでchhildrenの後ろから探索してるのかも分からん
(コピペプログラマに見える)
classList.toggleしかしてないので同じ列をクリックするたびに
反転するだろうってのが容易に想像できる
e.targetがtdだとして、そのparentNodeはtrだ。
複数テーブルが有った場合は、まあもともとの要件には
入ってないが、対応しているとなお良い
これでいいの?って仕様を聞いてるのかと思ったら
書いたコードにバグがないの?って意味かよw
動かん
ぱっと見でもクリックした列を判定するコードがないし
なんでchhildrenの後ろから探索してるのかも分からん
(コピペプログラマに見える)
classList.toggleしかしてないので同じ列をクリックするたびに
反転するだろうってのが容易に想像できる
e.targetがtdだとして、そのparentNodeはtrだ。
複数テーブルが有った場合は、まあもともとの要件には
入ってないが、対応しているとなお良い
これでいいの?って仕様を聞いてるのかと思ったら
書いたコードにバグがないの?って意味かよw
>>822-823は行
行じゃなくて列なら確かにめんどい
colspanやrowspanがどうなってるかわからん
1つでもあれば盛大にズレるんで
確実なところでtd.dataset.に何か目印つけるな
これが一番健全だと思う
行じゃなくて列なら確かにめんどい
colspanやrowspanがどうなってるかわからん
1つでもあれば盛大にズレるんで
確実なところでtd.dataset.に何か目印つけるな
これが一番健全だと思う
これも元の要件に書いてないが、クリックしたらその列のヘッダーセルの
色を変えるとして、その他の列のヘッダーセルの色は解除だろって思う。
そのコードも入ってないな。
色を変えるとして、その他の列のヘッダーセルの色は解除だろって思う。
そのコードも入ってないな。
> colspanやrowspanがどうなってるかわからん
そんなの要件に入ってないだろ
そんな事を考える前に、まずちゃんと動くもの作れw
そんなの要件に入ってないだろ
そんな事を考える前に、まずちゃんと動くもの作れw
このように設計が重要かつもっとも時間がかかるものなのである
コーディングの時間の多寡を考えてはいけない
コーディングの時間の多寡を考えてはいけない
>>829
えっ
えっ
>>832
えじゃねーよw
えじゃねーよw
jqueryがDOM操作で大活躍!できるクソ曖昧な要件出してjqueryをageましょう
客から言われたわけでもないのに、勝手に仕様を
盛りだくさんにしていく馬鹿っているよなw
盛りだくさんにしていく馬鹿っているよなw
俺の要件推測は良い推測!
おまえの要件推測は悪い推測!
jq以前の脳の構造上の欠陥問題
おまえの要件推測は悪い推測!
jq以前の脳の構造上の欠陥問題
要件が曖昧なら、推測で作ってもいいよ。
だけど、動かないのは論外だから
だけど、動かないのは論外だから
っていうか文句言う前に、動くもの作れよ。
良い・ダメ以前の問題。
物を作れなきゃ、論外
良い・ダメ以前の問題。
物を作れなきゃ、論外
はい、ついでに行クリックで行のヘッダを変えるやつ
http://jsfiddle.net/pztcepet/
$(document).on('click', 'tr', function() {
$(this).addClass('selected').siblings().removeClass('selected')
});
http://jsfiddle.net/pztcepet/
$(document).on('click', 'tr', function() {
$(this).addClass('selected').siblings().removeClass('selected')
});
>>822 と同じ仕様ならこんな感じかな。thが最初になくても良い
(正確には複数のtable対応だけど、jQueryだと一つに対応するのも複数に対応するのも手間が変わらない)
http://jsfiddle.net/uwf0xu71/
$(document).on('click', 'tr', function() {
$(this).toggleClass('selected');
});
(正確には複数のtable対応だけど、jQueryだと一つに対応するのも複数に対応するのも手間が変わらない)
http://jsfiddle.net/uwf0xu71/
$(document).on('click', 'tr', function() {
$(this).toggleClass('selected');
});
>>822はお題を間違えている上に
間違えたお題用のHTMLじゃないと動作確認ができず
そのHTMLすら書いてないんじゃ、どうしようもないなw
誰も検証できない。せめてお題ぐらい間違えるな。
もしくは動くものをjsfiddleなりで用意しろ
間違えたお題用のHTMLじゃないと動作確認ができず
そのHTMLすら書いてないんじゃ、どうしようもないなw
誰も検証できない。せめてお題ぐらい間違えるな。
もしくは動くものをjsfiddleなりで用意しろ
>>847をアロー関数を使って一行になおしてみた
$(document).on('click', 'tr', e => $(e.currentTarget).toggleClass('selected'));
普通に関数を一行にしたほうが短かったw
$(document).on('click', 'tr', function() { $(this).toggleClass('selected') });
$(document).on('click', 'tr', e => $(e.currentTarget).toggleClass('selected'));
普通に関数を一行にしたほうが短かったw
$(document).on('click', 'tr', function() { $(this).toggleClass('selected') });



類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.122 + (1004) - [97%] - 2015/2/14 4:45
- + JavaScript の質問用スレッド vol.135 + (1002) - [97%] - 2018/11/23 10:30
- + JavaScript の質問用スレッド vol.130 + (974) - [97%] - 2016/10/26 14:18
- + JavaScript の質問用スレッド vol.142 + (984) - [97%] - 2020/8/27 19:15
- + JavaScript の質問用スレッド vol.112 + (1001) - [97%] - 2013/11/27 16:46
- + JavaScript の質問用スレッド vol.131 + (1000) - [97%] - 2017/1/25 8:01
- + JavaScript の質問用スレッド vol.122 + (116) - [97%] - 2018/5/2 18:30
- + JavaScript の質問用スレッド vol.131 + (1004) - [97%] - 2018/3/7 13:30
- + JavaScript の質問用スレッド vol.133 + (1001) - [97%] - 2018/6/8 10:45
- + JavaScript の質問用スレッド vol.134 + (1001) - [97%] - 2018/8/3 23:15
- + JavaScript の質問用スレッド vol.130 + (1001) - [97%] - 2017/11/25 20:45
- + JavaScript の質問用スレッド vol.136 + (1001) - [97%] - 2019/1/8 11:30
- + JavaScript の質問用スレッド vol.142 + (926) - [97%] - 2019/12/23 13:15
- + JavaScript の質問用スレッド vol.137 + (1003) - [97%] - 2019/3/26 11:46
- + JavaScript の質問用スレッド vol.102 + (1001) - [97%] - 2012/9/11 17:30
- + JavaScript の質問用スレッド vol.138 + (1004) - [97%] - 2019/4/20 23:45
- + JavaScript の質問用スレッド vol.139 + (1001) - [97%] - 2019/5/27 15:15
トップメニューへ / →のくす牧場書庫について