+ 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/ HPで友達が稼げるようになった情報とか ⇒ http://asaswq3wq.sblo.jp/article/181819223.html 興味がある人だけ見てください。 JIAVMJEURL ↑ なんでわざわざ動画にするんだろうね? 検索対策かなにかかもしれないな。 答える気はないが、テキスト化だけはしておこう Please add the corresponding keywords to add the external sample.js file to the web page. <[script] [t]="text/javascript" [src]="sample.js"></script> My Movie 3 Japan HIKIKOMORI (https://www.youtube.com/channel/UCTWD4JPnE_tjgB9s_MpYInQ ) 2017/12/16 に公開 グローバル汚染対策で名前関数を使う例があるけど関数リテラルも同様にすべきですか? var hoge = function(){}; ↓ var NAMAE = {}; NAMAE.hoge = function(){}; >>8 名前関数とは何かわからんが、そのようにすることは、 NAMAE という名前の名前空間を導入することを意味する。 そいうのはごく普通に行われているんじゃないかな すみません、文編集したとき入れ替わってそのままで、名前空間でした 初心者です。ホバーしたグレーの中の赤だけ消したいのですが全部の赤が消えてしまいます。script内でthisを使うのかなぁと思いますがどこに置いてもうまくいきません。。 よろしくお願いします https://jsfiddle.net/user2995/23sfa55o/ CSSだけでできる .pic { position:relative; width:160px; height:160px; } .small { position: absolute; top: 50%; left: 50%; } .pic:hover .small { display:none; } >>12 わぁできました!魔法のようです!ありがとうございます ●現状 訳あって<form>使えず<div>内に多くの<input>や<button>があり、 HTML記述にdisabledがあったりなかったり 動的にdisabledを外したり戻したり ●理想、希望 一括でHTML記述(disabledの有無)通りに戻したい いい方法ありますか?inputのdefaultValueみたいな どなたかお願いします >>15 まさかこれで答えたつもり・・・じゃないよな・・・ new DOMParser().parseFromString(await(await fetch(location)).text(),'text/html') でミラードキュメントが取れるからそこから探せばいい タグを削除する場合 .replace(/<("[^"]*"|'[^']*'|[^'">])*>/g,'') と jQueryで .text() は等価でしょうか? 考えるのが面倒くさいから適当に10万件くらいテストしてみ <div id="abc">あ<div>A</div><div>B</div></div> 上で試したら、どちらも「あAB」になった jQuery 内を、1行ずつデバッグすれば? それか、ソースコードを読むとか jQuery 内では、Sizzle を使っている Sizzle CSS Selector Engine v2.3.0 https://sizzlejs.com/ Sizzleはクエリセレクタなんで text()の挙動とは関係ない ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の 両院で、改憲議員が3分の2を超えております。 『憲法改正国民投票法』、でググってみてください。国会の発議は すでに可能です。平和は勝ち取るものです。お願い致します。☆☆ すみません、他のスレッドで聞いてみたんですが、 JavaScriptで行うと答えが返ったので、 ここで質問させていただきたいと思います。 この5ちゃんねるのように「>>数字」をマウスホバーしたら 安価先の全文をポップアップ表示させることは可能でしょうか。 できれば、表示の際に囲っている線は無表示にして 背景色も設定したいと思っています。 サンプルコードは無いです。よろしければご教授下さい。 簡単にできるが、何もわからない人にここで教えられるようなものではない HTML、CSS、JSを基礎から勉強していけば数年後に自ずと分かる それは簡単にできるとは言わない。スレタイ100回復唱しろ >>27 カレーを作るのは簡単と言えるだろう でもそれは当然家に便利な道具があって、家の近所の店に当たり前に材料があるということ前提だ 米を準備することは簡単だろう でもそれを説明するのは難しい 炊くのか?買ってくるのか?によっても違う 買ってくるにしても、店を一度も使ったこともない、 売ってる米を見たこともない幼稚園児に教えて買いに行かせるのは困難だ そして米を買ってこさせたとしても、そこからがカレー作りの始まり そんなの教えられると思うか? 最低でも基本道具の使い方を知っている人にじゃないと説明なんてできない いくら初心者向けの質問所と言ったって、JavaScriptのJの字も知らない人を相手にできるはずがない 実際の物づくりっていうのは「応用」なんだから、「基礎」を知らない人は願い下げよ カレーを作るのが簡単かどうかは 近くのスーパーにカレー用に切られた野菜パックが あるかどうかで決まる 幸いなことに俺んちの近くのスーパーには それが売ってあるので、買って家に帰ったら 鍋に投入して終わりだ。包丁も使わねぇ 山田祥寛(よしひろ)、翔泳社 10日でおぼえる jQuery 入門教室 第2版、2013 まず、この本を読め 俺のおすすめは、おすすめ順にこの3つだな ちと古いが(というか新しい本がほとんどない) jQueryのAPIは安定していて大きな変化はない 変わったのはDeferredぐらいだろうな コアjQuery+プラグイン/jQuery UI 開発実践技法 (有名なin Actioシリーズ の jQuery in Actionの翻訳) https://www.amazon.co.jp/dp/4798124281 jQueryクックブック (オライリー) https://www.amazon.co.jp/dp/4873114683 新人プログラマのためのjQuery Webアプリケーション開発講座 https://www.amazon.co.jp/dp/4899772580 コンストラクタの基礎で質問です。 一旦値(たろう)をセットし、後に変える(じろう、さぶろう)場合以下でいいでしょうか? var Member = function(first, last){ this.firstName = first; this.lastName = last; }; Member.prototype = { setName: function(){ var res = this.firstName + '-' + this.lastName; $('#hoge').text(res); //処理例 } }; var mem = new Member('やまだ', 'たろう'); mem.setName(); alert('次'); //確認用 mem.lastName = 'じろう'; mem.setName(); alert('次'); mem.lastName = 'さぶろう'; mem.setName(); いい場合、値セット(mem.lastName = )と処理(mem.setName())を1度にしたい場合はどうするのでしょうか? 必ずセットで用いられます。 まず、メンバーというクラスなのに、固定要素への書き出しのメソッドを持つのは変 あと、setNameという名前だと普通メンバーの名前の設定のためのメソッドに見える そもそも、名前を書き換えられるのは変 それから"first"Nameって日本で言うと名字じゃない方のことだからね、逆になってる 日本人名しか入らないなら(sei,mei)でもいいと思う もしくは汎用的にオブジェクトを引数に取るようにする こんな感じになる const Member = ( () => { const map = new WeakMap const priv = own => map.get( own ) || map.set( own, { __proto__: null } ).get( own ) return class Member { constructor ( nameObj ) { Object.assign( priv( this ), nameObj ) } getName ( order = 'last-first' ) { return order.split( '-' ).map( pos => priv( this )[ pos ] ).join( '-' ) } } } )( ) let mem = new Member( { first: '活男', middle: 'ジャイアント', last: '磯辺' } ) let name = mem.getName() // '磯辺-活男' $( '#hoge' ).text( name ) レスありがとう。 >>35 名前の付け方と値自体はあるサンプルを適当に改変したものですのでスルーでお願いします。 >>36 IE9以上でお願いします。 IE9以上の前にひどいコードだな クソコードと呼ぶにふさわしい 命名はともかく、どこのサイトでもよくある普通のコードだぞ >いい場合、値セット(mem.lastName = )と処理(mem.setName())を1度にしたい場合はどうするのでしょうか? >必ずセットで用いられます。 lastNameをdefinePropertyで定義して、そのsetの中でthis.setName()呼べばいいだけ 動的型付けで柔軟なJSでは命名こそが重要なポイントなのにね あまりに酷い場合そこをおざなりにして話は進められない >>42 ありがとうございます。 >>43 だから実際の名前は全然違うんですって。 firstでもないし'たろう'でもないのです。 実際既にあるコードをココ用に一部削ったりするのってけっこう面倒だから適当になることもあるわな その結果 構造・構成がぐちゃぐちゃじゃ評価のしようがない これだけツッコミ受けてるのはまだコードが無い方がマシなレベルで酷いんだと自覚した方がいい いや酷いコードだろうが貼らない口だけヤロウよりはよっぽどマシ。 質問でも質問者がクソコード貼るか貼らないかで大違いだ。どんなクソコードでもいいからなるべく貼ってくれ。お前の日本語?の説明よりよっぽどマシ。 >>38 > IE9以上でお願いします。 はいどうぞ。技巧的なことはしない必要十分なコード function Member(param) { function getName(order) { var keys = (order || 'last-first').split( '-' ); var values = keys.map(function(pos) { return param[pos]; }); return values.join( '-' ); } return {getName: getName}; } var mem = new Member({first: '活男', middle: 'ジャイアント', last: '磯辺'}); var name = mem.getName(); // '磯辺-活男' >>45 JSって色んな書き方ができる言語だけど、 逆に言うと回答する際細かい部分で何が良いかは変わってくるということ 特にここは初心者が質問するというスレの性質上 ただ機械的にQ&Aを返すんじゃなくて根本的に待ったをかけて『モラル』を教える必要もある 例えばファッションで、ネクタイをかっこよく結びたいっていう質問が来た時、 下ふんどしで下駄の写真が付いてきたらツッコミ入るでしょ そもそもネクタイ無い方がいいんじゃねってこともあるし、 細かい部分から色んな関係性を想定して全体のバランスを考えて初めて どう結ぶのが良いかって言うのが求まるんだから、手を抜いちゃ駄目だよ >>34 だって関数やメソッドを1つ増やせば良いとも考えられるしね はたまた>>42 のようにクラスの設計の段階で組み立てるのか、 結局他の方法も含めて状況による 俺が現状で回答できるのは>>35 で言ったようにおかしい部分を直して まともに検討できるコード例を持ってこようということ 話はそこから >>35 > そもそも、名前を書き換えられるのは変 変じゃないよ >>50 変じゃない場合もあると思う ただ「人」を表すクラスのインスタンスっていうのは「個人」 「名前」っていうのは「個人」のIDのようなもの インスタンスのIDに当たるものを書き換えて別の存在にするっていうのは、 やってはいけないとまでは言うつもりはないが、一般的には大胆すぎる 基本的に、インスタンスっていうのは、必要なときに新たに生み出して、使い捨てるもの 書き換えて再利用するなら、クラスやコンストラクタを使わなくても良い >>51 > 「名前」っていうのは「個人」のIDのようなもの 名前をIDにしたらだめ 被るだろ >>53 するどいツッコミだが、 アイデンティファイではなく、アイデンティティという言葉を言いたかった DOMのタグもtagNameは書き換えできないし、できたら変だと思うだろう? そういうことだ >>54 だから、名前が一意になるオブジェクトはあるだろうが 今回のMemberの場合なら名前をにしたらダメだろっていってる そして名前は変わるだろと言ってる 鋭くもなんともねーよ。常識的な話だ 今回のMemberの場合なら名前を一意にしたらダメだろっていってる >>54 > アイデンティファイではなく、アイデンティティという言葉を言いたかった 更に意味わかんねーよ 動詞 アイデンティファイ identify の 名詞形が アイデンティティ identity だ 動詞ではなく名詞にしたかった言いたいのか? >>54 > DOMのタグもtagNameは書き換えできないし、できたら変だと思うだろう? なんでnameの話してるのに、tagNameの話になってんだか DOMのタグであれば、フォーム要素がnameを持っている。 もちろん書き換え可能だ お前もうめちゃくちゃだなw >>58 "identity"と"identifier"はIT用語では別物だぞ? まあそれは良いし、お前の頭がポンコツなのはわかった ポンコツなお前とメチャクチャな俺でこれ以上スレを汚すのはヤメヤメ あーはいはい生産性0の話はもうオワリ!ここまで! 今度は用語が変わりやがったw アイデンティファイ identify ↓ アイデンティティ identity ↓ アイデンティファー identifier お前混同してるだろ ついでになんか見つけたw "Identity" と "Identifier" を混同して "ID" と言わないように 一般的に使われる "ID" は "identifier" (識別子)の意味であって、 "identity" (同一性)の意味ではない。ぜんぜん違う。 http://zerobase.hateblo.jp/entry/2013/03/02/181858 >>59 生産性0なのはお前のレスでは? > "identity"と"identifier"はIT用語では別物だぞ?(理由なし) 理由も言わずに、違うったら違うんだ!って言ってるだけ 説得力0だぞ? >>46 >コードが無い方がマシ こういうのに限ってコード出せと言うくせに >>44 も読めてないのかな >>51 割り込み失礼 各要素に複数の値持たせ、2つの要素同士または複数要素の、全値を交換するとする (各要素にidがあるがそれを交換するのはNG) 全値を各々操作するとバグの原因になりかねないので インスタンスに持たせてそれを交換 値は変わることもある これはダメ? 63の補足 結局、値は各要素に持たせずインスタンスに持たせてる それが普通。想定してない使い方をしたときにまで対応する必要はない >>36 どうもです。思ってた以上に入り組みますね。 元文のまま2行でやるか関数作ろうかと思います。 function func(str){ mem.lastName = str; mem.setName(); } chromeのデベロッパーツールの表示について質問です。 画面右の赤線で囲った部分を、画像左の赤線内と同じHTMLの表示に変える方法を教えてください。 https://dotup.org/uploda/dotup.org1486462.jpg >>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タグをネストしてどうするつもりだって話になる。 リンクの中に別のリンクを入れるって意味不明だし ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる