+ JavaScript & jQuery 質問用スレッド vol.8 +
■ このスレッドは過去ログ倉庫に格納されています
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-4のテンプレを読んだ上で質問してください。次スレは>>950が>>2のテンプレ案(本スレで改善案があれば考慮)を元に立ててください
■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
(ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
※必ず「問題の事象が再現されること」を確認してください。
必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。
(9) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
+ JavaScript & jQuery 質問用スレッド vol.7 + [無断転載禁止]©2ch.net
http://mevius.2ch.net/test/read.cgi/hp/1467906819/ >>35
>メンバーというクラスなのに、固定要素への書き出しのメソッドを持つのは変
どう変?正解コードプリーズ。 >>70
左の画像には、<div class="form-group"> とあるけど、
右の画像には無い
左右は、全く異なるものだから、関係性がない http://klutche.org/archives/682/
すいません、このサイトでDIVブロックコンテンツをクリックで切り替えってのやってるんですが
これ2DIVを同時制御したんですが、この場合どうやればいいんですかね?
該当ソースの↓
var activeTab = $(this).find("a").attr("href");//アクティブタブコンテンツ
$(activeTab).fadeIn();//アクティブタブコンテンツをフェードイン
var activeTab = $(this).eq(2).find("a").attr("href")とかnext();とかやってみたんですがだめでした <div class="tab_content" id="tab1">
<img src="01.jpg" width="200" height="150" alt="01"><br>
コンテンツ1
</div>
↑のブロック2つ続けてコピペ、同時表示したいのです id="tab1" って書いてあるだろ
セレクターに、$('#tab1') を使え MonacaとAngularJSで開発を行っているのですが、時刻を取得し更新するプログラムが動きません。ソースは次のとおりです。
【JS】 <script>
var module = ons.bootstrap("myApp",[]);
module.controller('MainController',function($interval){
var date = new Date();
var now_hours = date.getHours();
var now_minutes = date.getMinutes();
var now_seconds = date.getSeconds();
this.hours = now_hours;
this.minutes = now_minutes;
this.seconds = now_seconds;
$interval(function(){
date = new Date();
now_hours = date.getHours();
now_minutes = date.getMinutes();
now_seconds = date.getSeconds();
}, 1000); }); </script>
【HTML】 <body>
<ons-navigator page="main.html"></ons-navigator>
<ons-template id="main.html">
<ons-page ng-controller="MainController as ctrl">
<div class="content" style="text-align: center;">
<p>現在の時刻<br />{{ctrl.hours}}時{{ctrl.minutes}}分{{ctrl.seconds}}秒</p> </div>
</ons-page> </ons-template> </body>
一応、実行時の時刻は表示されるのですが、intervalで時刻の更新ができていません。
console.logでnow_secondsの内容を出力させてみると(intervalで)、きちんと取得できているみたいです。
ということは時刻が反映されていないだけだと思うのですが、その方法をどなたかご教示願います。
(ソースコードが見にくいのはすみません。投稿の際の改行数が多いみたいで...) ここはjQueryのスレなのでこっちでどうぞ
+ JavaScript の質問用スレッド vol.132 +
https://mevius.5ch.net/test/read.cgi/hp/1520329583/ リンクをポップアップで開く系のjQueryプラグイン使ってるのですが
Biggerlinkでリンクをdiv要素に拡大させた部分をクリックすると通常ウインドウで
開いてしまいます
これをうまく回避する方法はありますか? >>80
残念ながらjQueryのプラグインの話はこのスレの対象外なんだよ
jQueryは世界中で多くの人が使っているが、
そのプラグインを使ってる人は少ないだろ?
そんな話をされても使ってる人がいない
jQueryの話ではなくそのプラグインの話になってしまう
Biggerlinkとやらを見るとjQuery 1.3と書いてあるし
10年ぐらいの前のものだし別の使ったら? とは言いますが他のスレではjQuery自体の話題が禁止されてたりもしますし
ここ以外で聞ける場所が見つかりません 罪のない包皮を切り刻んでぼったくった金で飯食ってるやつが偉そうに jQueryUI みたいな有名なプラグインなら、使っている人も多いだろうが、
そんなに昔の、近頃開発されていないようなプラグインは、
代わりのものを探した方が良い biggerlinkは代わりのものがないんだよな
html5になってブロック要素をリンクできるようになったとはいえ
リンクが複数だとこれ使わないと面倒だし <div class="biggerlink"><a></a></div>
SASS で、<a>タグがあれば、
その親タグに、<div class="biggerlink">を追加するような、機能は無いのか?
それか、jQuery で自作するとか は? そのbiggerlinkとやらがまともなjQueryプラグインなら
$('a').biggerlink() とかするだけだろ つーかBiggerlinkって何かと思えば
http://otani-webs.com/lab/javascript/100823.html
> box全体にリンクを適用させる場合、divをaタグで括るわけにいかないので苦労するわけですが、
言ってることが古い。HTML5になった今はdivをaタグでくくればいいだけ
こんなもん完全にいらねーじゃねーかw >>90
div要素にaタグ複数入れる場合は
html5じゃできねーだろ > div要素にaタグ複数入れる場合は
<div> ・・・div要素に
<a href="">1</a> ・・・ aタグ
<a href="">2</a> ・・・ 複数入れる
<a href="">3</a> ・・・ 場合は
</div> ・・・昔からできますがなにか? すごくないしw 普通
というか>>91が何ができないと言ってるのかさっぱり分からん
少なくともdivにaタグ複数入れられるし、
逆にaタグにdivだって入れられる
ということでBiggerlinkは捨てろが正解 >>94
>>91じゃないから本意はわからんけどさすがに君が状況を理解できてなさすぎだろう
HTML5では
<a href="./page1.html">
<div> </div>
</a>
はいいけど
<a href="./page1.html">
<div>
<a href="./page2.html></a>
<a href="./page3.html></a>
</div>
</a>
これができないと言いたいのでは? >>95
そういうときは普通の人はaタグのネストというんで
ぜったいに違うね。(もしそうならそいつが馬鹿) どう考えてもdivにaタグ入れられないなんて主張してるわけないだろ
バカすぎワロタ いや? >>91が言うには
> div要素にaタグ複数入れる場合は
> html5じゃできねーだろ
らしいぜ?w 話の流れを読めてないのはおまえやで
恥の上塗りすんなよ恥ずかしいやつだな > div要素にaタグ複数入れる場合は
というのが
aタグの中にaタグを入れるという意味だとしたら、
そもそもaタグをネストしてどうするつもりだって話になる。
リンクの中に別のリンクを入れるって意味不明だし どんだけサイト制作の経験少ないねん
例えばだけどRSSリーダーを作るとする
記事ひとつに対してカード型のDiv要素を作ってその中に
画像とタイトルに記事へのリンク
サイト自体へのリンク
お気に入りに追加するボタンやその他操作リンク
を入れるとする
スマホからのアクセスを考えるとカード型Div要素全体を記事へのリンクにしておきたい
この場合がまさにそうだろ
俺はこういった場合別の方法で回避してるけどね そうだよな。その別の回避方法を使えば良いわけで
aの中にaを入れるとか使いづらくしてるだけだわw 許されるよ
ごみみたいなサイトをつくってあれはおかしいこれはおかしい
といってるやつよりFeedlyやInoreaderを作ってるやつの意見のほうが貴重 そういう事言うのやめなよ
PV100/dayのサイトで何が悪い?
コーディングは完璧だぞ? まさかと思ったけど、div要素をクリックしたら
ページを移動させるためだけに、あんなプラグイン使ってるの?
5行ぐらいか多くても10行も行かずに作れそうなのに じゃあ作れるっていうよw
1. セレクタ & イベントハンドラ (
2. デフォルト処理キャンセル
3. リンク先情報取得 & オープン
4. 括弧閉じ )
やることと言ったら、これぐらいなもんだろ >>103
>>102じゃないけど、それぐらいすぐに思いつかないと
プロ失格だぞ。プロじゃないかもしれないけどw
relativeとabsoluteを使えばいいだけ
aの中にaとかアホすぎるw >>102がまだまだ未熟に感じるのは
クリックできる場所と、リンクするもの が違うってことを理解してないからだね
リンクがクリックできるのはブラウザが提供している機能であって
リンクは単に他のページ(リソース)とリンクしているという情報なだけ
だからdiv要素全体をクリックしたいのと
div要素全体をリンクにするというのは意味が違う
div要素が仮に記事へのリンクだとしたら、
div要素の内容と記事がつながっているわけで、
そこにサイト自体へのリンクが入っていることはおかしい。
なぜならリンクしてないから
「お気に入りに追加するボタンやその他操作リンク」と書いているが
これは他のリソースへのリンクではないので、a要素を使うのは間違い
(その他の操作の内容にもよるが、少なくともお気に入りに追加はリンクではない)
a要素をリンク可能な場所みたいに考えてるから、変な構造を作ってしまう。
何と何をつなげるのか?で考えれば自ずと、記事を表すの中に入れるのは間違いだおt
気づくはず。そのうえで見た目をどうこうしたいのであればそれはCSSの役目 >>115
おっしゃお気に入り追加ボタンをa要素で実装してる
inoreaderに説教してこい ねぇ? >>115に 反論はしないの?
大手だって間違えてるぞ!って言われても
はい、大手でも間違えますとしか言いようがないんだが
クレームつけるのは自分でやってくれって話 ここで説教はしますけど大手は怖いから説教しませんw じゃあここに大手読んできたら?
なんで自分で反論せずに、大手様に反論して貰おうとしてるのさw 自分で反論する能力がないからに決まってるだろがー! そもそも反論する必要あんのか?
何と戦ってるのこの長文マンは
頭大丈夫か?統合失調症ちゃうか なのに反論してみろって喧嘩ふっかけてて怖いな
被害妄想過ごそう 「大手もやってるから俺も正しい」しか主張出来んのだろ
大手だからこそバリデーションくらいして欲しいわ 顔真っ赤な奴ばっかだな
なんでこう誰でもできるような低賃金言語ってこうもすぐ荒れるかな
もっと他のことにプライドもてよクソ共 誰でも日本語書けますが、プロは日本語を書いて大金を稼いでいます 一番js書いてんのがgoogle
オフィススイート全部jsで書くとか悪夢だ…
しかもtypescript無い時代に… え? Google はGWTとか使ってるんでしょ?
Javaで作ればJavaScriptも作ってくれるとか?
もしかしてもうオワコン?
ゴミをたくさん作ってるのもGoogleだなw 685Name_Not_Found2018/03/28(水) 22:28:13.59ID:???
>>682
いや、そんなにないと思う
どちらかと言えばそれは当てはまるもの全てに処理したいから、class使ってねということだろう
そういう場合はカスタムエレメントでも使ったほうが良い
そうすれば要素が作られた時、挿入されたときに即座に適宜処理ができるんだから
あとから要素をclassで検索して機能を付与するとか、
スマートな解決策のように見えるかもしれないけど、それって実際はただのハックだからね?
どっかの誰かが作った物があって、それに対してハックしたいなら非常に便利が良いと思うよ
でも今どき、オマケでJSによってページを補正するみたいな開発や考え方はしないからね
HTML5の勧告に纏わる公式文書にも書いてあったけど、
HTMLっていうのはアプリケーションプラットフォームになってるんだよ
つまり土台であって、その上にJSとか乗っかって1つのものができるわけ
それが横並びだとか、化粧程度だとか、もしくはJSはHTMLを改造するためのドリルみたいに
捉えてるのだとしたら、その考え方は古臭いと思うよ
686Name_Not_Found2018/03/28(水) 23:31:40.90ID:???
> そういう場合はカスタムエレメントでも使ったほうが良い
そのカスタムエレメント作る用途で使えるって話でしょ?
っていうか、どうやってそれ作るの
ちょっとサンプル書いてみてよ
687Name_Not_Found2018/03/28(水) 23:32:38.83ID:???
> HTMLっていうのはアプリケーションプラットフォームになってるんだよ
それは一部の話ね。
ブログ、ニュース、企業サイト、情報掲載と、
これらウェブの大半はアプリケーションじゃない jq関係ないけど
HTMLがアプリケーションプラットフォームって考え方は
ぶっちゃけ危険極まりないよね・・・ >>136
俺もそう思う。
HTMLで文書じゃなくてアプリケーションを作るっていうのは
ごく一部だよ
大抵はHTMLとCSS、そしてJavaScriptでちょっと味付け
これから変えていこう!なんて波は来てない 素のJS のremove では、動かないブラウザがあるから、
素のJSでは、661 のように書く
だから互換性が高い、jQuery のremoveを使った方がよい
一々、各ブラウザの機能を調べて、素のJSで対応するのが面倒くさい。
古いブラウザを使っている奴もいるし classに対して処理振るのが最善なケースってどんなのがある?
同じ処理つけたい要素を不定数生成しなきゃいけないときは
createElementの時listenerつけたりhandlerの内側でやらせる手がある
classで処理振ると他の場所でclassを
使いまわしされたら想定外のバグが出そう
個人レベルの小規模なら問題にならないかもだけど >>139
それ単にクラスの名前つけルールが無いと困るって言ってるだけだよ。
CSSでも発生する問題
.enabledというクラス名を付けていたら、
他の場所で使い回されて困った。
これと何も変わらん >>140
デザイナはcss変えたために自分の領域で問題が出ればすぐ把握できる
けどjavascript側で問題が出てもわからない
だから切り分けが大事 カスタムエレメントどうやって作るの?という質問の意味が分からない
好きな要素をextendsしてregisterElementするだけじゃないか
そこにjQueryを使う?好きにしたら良いと思うが、
やっぱりjQueryありきの考え方だねと言わざるを得ないね
でも他のライブラリとかも使うかもしれないし、
jQueryで処理しちゃあ生要素に戻して他で処理するみたいなクソコードになると思うよ
それなら最初からjQUeryで完結させたほうが良い
jQueryはそういう他との相容れなさが欠点だからね
remove()が使えない? 使いたい機能があって使えない環境があるなら
ポリフィル書くなり用意するなりすればいいじゃないか
そんな100も200も要るようなことなんて無いしね
それが面倒だからjQuery使うというのはOK
だけど最初から使ったほうが良いという考え方はNG
この違いが分かるか?
結局jQueryありきの価値観の人達って、他と相容れないjQueryを使いすぎて
例えばちょっとポリフィルを作って数個の素朴なライブラリを組み合わせて使うとか、
他のフレームワークを使った方が今回は良いんじゃないかとか考える能が無くなってるんだよ
jQueryだってやり方によっちゃ組み合わせて使える力も持ってるけど
上のカスタムエレメントの件で分かるように使いこなせてないしね
要するに考え方がいつまで経っても超古臭くて閉鎖的なんだよね
とりあえずjQuery使っとけばいいだろうみたいなのはやっぱり良くないよ
物は1つ1つ考えて良く使わないと 他と相容れないってw
JavaScriptに取り込まれてること自体が
jQueryの多大な貢献を示していると思うけど >>143
> カスタムエレメントどうやって作るの?という質問の意味が分からない
> 好きな要素をextendsしてregisterElementするだけじゃないか
だから、このスレか、jsfiddleなどに
実際に動くコードを一つ書くだけですよ。 通常四行必要なところが三行になります!とか
一行で書けます!とか
そんなせせこましい次元じゃなくて
100行必要なところが1行になります!とか
一般に実装されてなくて個人で実装するには難易度が高い関数が使えます!
とか、そういうのないの jQueryを否定できるのは生JavaScriptではなくて
jQueryを超克したライブラリだと思います
そういうライブラリないんですか? ちゃんと安価先を修正してコピペしてて草というか感心した >>147
例えば今は必要性薄くなってきたけどsha512使うためのライブラリとか
zip/unzipするためのライブラリとか
自分で書くには行数すごくなるしいろいろと問題もある
むしろライブラリってこういうのが基本で
jQueryみたいなのは今やどっちかっていうと
「ショートカット集&ポリフィル集」じゃないの? 悔しかったらjQueryに勝るシンプルなsource書いてね jQueryの代替を提供してるのはフレームワークばかりの感じがします
置き換えたらDOM操作以外の余計なものまで付いてくるので困りますね なにせjQuery君によるとDOM操作用のライブラリでは無いらしいからな。 >>146
> 通常四行必要なところが三行になります!とか
> 一行で書けます!とか
> そんなせせこましい次元じゃなくて
四行必要なところが一行になったら1/4
1000行が250行になるんだが >>151
> むしろライブラリってこういうのが基本で
> jQueryみたいなのは今やどっちかっていうと
> 「ショートカット集&ポリフィル集」じゃないの?
数式だよ
「変数Xに5を加えたものを三倍する」
冗長だね
(X + 5) * 3
短い
jQueryは冗長な表現を短くすることができる
これにより可読性が高くなりレビューしやすくなるしバグも少なくなる。
簡潔な表現方法を知っていれば、あえて冗長に書く理由がない
jQueryがライブラリじゃないというのなら
もっと基本な文法に相当するものだと言うよ。 それでjQueryちゃんは
○文字節約できます!
以外にどんな機能を提供してくれるの >>159
関数型風のプログラミング機能
あと機能じゃないが開発工数の削減と
バグを減らしてくれる 開発工数の削減って○文字節約できますを言い換えただけだろw
開発工数の削減ってそんなに重要なことなのかって話だよ >>143
横から申し訳ない
カスタムエレメントってどういうときに使うもの?
いまいち理解できんのでよかったら教えてくれ カスタムエレメントがほしいって思ったことがない
つまりHTMLパーツのコンポーネント化っていう
概念がなくて行き当たりばったりでCSSでデザインしてるだけ
こういうやつもいるからjQueryでクラス使って
コンポーネントに対して処理をする便利さが理解できないんだろうな >>153
それな
jQueryの代替のフレームワークはJavaScriptのフレームワークで
HTML+CSSメインの作り方からJavaScriptメインに
代わってしまう。
わかりやすく言えばプログラミングできなきゃ
HTMLも表示できない。jQueryの利用者が今も増え続けてる理由だよ https://w3techs.com/technologies/history_overview/javascript_library/all
ここ二ヶ月の間73.2%から増えてないから
とうとう上げ止まったか?と思ったら今月73.3%になった
よかった。jQueryの利用者はまだ増え続けてたんだ。 >>164
要素をカスタムしたい場合、という回答では不十分か?
今回の件に限らないけど、どうして何かしら例を出した程度の場合に
そいつにその物事についての説明やサンプルを求めるのかがさっぽり理解できない
俺の考えを知りたいのか?、それとも俺を試してるつもりなのか?
そんなの適当にググって出てくるサイトの筆者の方がよっぽど詳しいし
よっぽどためになる事書いてあるに決まってるだろう
俺はカスタムエレメントの申し子じゃないんだからさ
でもとりあえず上のclassの話で回答しておくと、
要素に何かしらの機能や性質を持たせる、という考え方と違うものとして
何かしらの機能や性質を持った要素が定義してあって、それを使うという考え方を挙げた
例えば一部で幾つか配列操作メソッドがほしいときに、
Array.prortotype、もしくはArrayのインスタンスにメソッドがを定義するのではなく、
Arrayをextendsしたクラスを用意しておいて、必要なときではそちらでインスタンスを作るということ、
このたとえならjQueryはlodashを使うことに近いのかもしれない
ただし、そのlodashは入出力がArrayではなく、独自のArrayLikeオブジェクトになってるって感じ
そこがちょっと無視できないポイント
つまり基本的にlodash世界内で完結するように書くものであって、
lodashに一旦通して配列を加工して、lodash空間はそこで一旦終わらせて、
次に別のものに通していくってことが、ロジック上難しいのではないけれど、概念上困難ということになる 俺が変わりに答えてあげるけど
jQueryならサクッとできることが
カスタムエレメントだとすごく大変 ■ このスレッドは過去ログ倉庫に格納されています