タグ付けされた質問 「javascript」

ECMAScript(JavaScript / JS)とそのさまざまな方言/実装(ActionScriptを除く)でのプログラミングに関する質問。このタグが単独で使用されることはほとんどありませんが、ほとんどの場合、[node.js]、[jquery]、[json]、および[html]タグに関連付けられています。

4
jQueryで複数のクラスを選択する
私は見栄えがよく、次のような1つのjQueryセレクターステートメントで特定のクラスに一致するすべての要素を選択する方法を見つけることができないようです。 $('.myClass', '.myOtherClass').removeClass('theclass'); これを達成する方法に関するアイデアはありますか?他の唯一のオプションは行うことです $('.myClass').removeClass('theclass'); $('.myOtherClass').removeClass('theclass'); しかし、私はこれをかなりの数のクラスで実行しているため、多くのコードが必要です。

20
クロスブラウザーのJavaScript(jQueryではない…)が一番上のアニメーションにスクロールする
リンクに適用できるシンプルなクロスブラウザーの「上にスクロール」アニメーションを探しています。jQuery / MooなどのJSライブラリは必要ありません。 // jQuery Equivilant to convert to pure JS... $('html, body').animate({scrollTop:0}, 400); 私は、図書館に飛び込む前にJSを100%学ぶべきだった人にぴったりのケースです。:(
222 javascript 

16
オブジェクトに要素を追加する
私はjsonファイルを入力する必要があります、今私はこのようなものを持っています: {"element":{"id":10,"quantity":1}} そして、別の「要素」を追加する必要があります。私の最初のステップは、を使用してそのjsonをObject型cart = JSON.parseに配置することです。次に、新しい要素を追加する必要があります。私cart.pushは別の要素を追加するために使用する必要があると思いました、私はこれを試しました: var element = {}; element.push({ id: id, quantity: quantity }); cart.push(element); しかしelement.push、しようとすると「オブジェクトにメソッドプッシュがありません」というエラーが表示され、「要素」をどこにも伝えていないため、何か間違っていると思います。 どうやってやるの? 編集:すみません、頭の中でたくさんの混乱がありました。 からデータJSON.parseを取得するときはオブジェクトタイプしか取得できないと思っていましたが、最初にJSONに入力したものを取得します。 オブジェクトの代わりに配列を配置することで問題が解決しました。ここでも多くの提案を使用しました。ありがとうございます。
222 javascript  object 

8
非同期のJavaScript関数を同期的に呼び出す
まず、これは、何千行もの長い同期コードベースに非同期呼び出しを改造するために意図的に間違った方法で行う非常に特殊なケースであり、現在のところ、「行う」変更を行う能力がありませんそれは正しい。」それは私の存在のすべての繊維を傷つけますが、現実と理想はしばしば一致しません。これは最悪だ。 さて、それが邪魔にならないように、私ができるようにするにはどうすればよいですか? function doSomething() { var data; function callBack(d) { data = d; } myAsynchronousCall(param1, callBack); // block here and return data when the callback is finished return data; } 例(またはその欠如)はすべてライブラリおよび/またはコンパイラを使用していますが、どちらもこのソリューションでは実行できません。UIをフリーズせずにブロックする方法の具体的な例が必要です(たとえば、コールバックが呼び出されるまでdoSomething関数を終了しないでください)。JSでそんなことが可能なら。

13
ユーザーが上にスクロールしない限り、オーバーフローdivを下にスクロールし続ける
大きさが300ピクセルしかないdivがあり、ページの読み込み時にコンテンツの下部までスクロールしたい。このdivにはコンテンツが動的に追加されており、下にスクロールし続ける必要があります。ユーザーが上にスクロールすることを決定した場合、ユーザーが再び下にスクロールするまで、下にジャンプしたくない ユーザーが上にスクロールしない限り、一番下までスクロールしたままのdivを設定できます。ユーザーが下にスクロールすると、新しい動的コンテンツが追加された場合でも、一番下に表示される必要があります。これを作成するにはどうすればいいですか。
222 javascript  jquery  html  css  scroll 

13
別の配列に含まれるすべての要素を削除する
それらが別の配列に存在する場合、JavaScript配列からすべての要素を削除する効率的な方法を探しています。 // If I have this array: var myArray = ['a', 'b', 'c', 'd', 'e', 'f', 'g']; // and this one: var toRemove = ['b', 'c', 'g']; myArrayを操作して、この状態のままにしておきます。 ['a', 'd', 'e', 'f'] jQueryでは、私はgrep()and を使用しinArray()ています。 myArray = $.grep(myArray, function(value) { return $.inArray(value, toRemove) < 0; }); ループやスプライシングなしでこれを行う純粋なJavaScriptの方法はありますか?
222 javascript  arrays 

20
2つのオブジェクト間の一般的な深い差分
との2つのオブジェクトがoldObjありnewObjます。 のデータはoldObjフォームへの入力に使用されnewObj、ユーザーがこのフォームのデータを変更して送信した結果です。 つまり、両方のオブジェクトは深いです。それらはオブジェクトやオブジェクトの配列などのプロパティを持っています-それらはnレベルの深さを持つことができるので、diffアルゴリズムは再帰的である必要があります。 今、私はちょうどから(追加のように/更新/削除)変更されたかを把握する必要がないoldObjのnewObjが、また最高にそれを表現する方法。 これまでのところ、genericDeepDiffBetweenObjectsフォーム上のオブジェクトを返すメソッドを作成することだけが私の考えでした{add:{...},upd:{...},del:{...}}が、次に、誰かがこれを以前に必要としていたに違いないと考えました。 それで...これを行うライブラリまたはコードの一部を知っていて、おそらく違いを表すより良い方法があります(まだJSONシリアル化可能な方法で)? 更新: と同じオブジェクト構造を使用して、newObjすべてのプロパティ値をフォーム上のオブジェクトに変換することにより、更新されたデータを表すより良い方法を考えました。 {type: '<update|create|delete>', data: <propertyValue>} だからnewObj.prop1 = 'new value'、oldObj.prop1 = 'old value'それが設定されるとreturnObj.prop1 = {type: 'update', data: 'new value'} アップデート2: 配列であるプロパティに到達する[1,2,3]と[2,3,1]、それは本当に毛むくじゃらになります。配列はに等しいと数えられる必要があるためです。これは、文字列、int、boolなどの値ベースの型の配列では十分簡単ですが、オブジェクトや配列などの参照型の配列。 等しいはずの配列の例: [1,[{c: 1},2,3],{a:'hey'}] and [{a:'hey'},1,[3,{c: 1},2]] このタイプの深い値の等価性をチェックすることは非常に複雑であるだけでなく、変更の可能性を表す良い方法を理解することも必要です。

10
画面の幅が960ピクセル未満の場合に何かを行う
画面の幅が960ピクセル未満の場合、jQueryで何かを実行するにはどうすればよいですか?以下のコードは、ウィンドウサイズに関係なく、常に2番目のアラートを発生させます。 if (screen.width < 960) { alert('Less than 960'); } else { alert('More than 960'); }
221 javascript  jquery 



6
Redux-複数の店舗、なぜそうではないのですか?
注:私はRedux(Baobabも)のドキュメントを読み、グーグルとテストのかなりの部分を行いました。 Reduxアプリにストアが1つしかないことが強く推奨されているのはなぜですか? 私は、単一ストアのセットアップと複数ストアのセットアップの長所/短所を理解しています(このテーマについては、SOに関する多くのQ&Aがあります)。 IMO、このアーキテクチャ上の決定は、プロジェクトのニーズに基づいてアプリ開発者に属しています。では、なぜそれがとても強くReduxのため、ほとんど必須鳴らすのポイントに提案されている(何もかかわらず、複数の店舗を作るから私たちを停止していますか)? 編集:シングルストアに変換した後のフィードバック 多くの人が複雑なSPAと考えるものについてreduxで作業した数か月後、単一のストア構造で作業することは純粋に嬉しかったと言えます。 単一のストアと多くのストアが多くの多くのユースケースで根本的な問題である理由を他の人が理解するのに役立ついくつかのポイント: 信頼性があります。セレクターを使用してアプリの状態を調べ、コンテキストに関連する情報を取得します。必要なすべてのデータが1つのストアにあることがわかっています。それは、州の問題がどこにあり得るかについてのすべての質問を避けます。 それは速いです:私たちの店は現在、100以上の減速機を持っています。その数でさえ、ごく一部のレデューサーのみが特定のディスパッチのデータを処理し、他のレデューサーは以前の状態を返します。巨大/複雑なストア(reducerのnbr)が遅いという主張は、かなり根拠のないものです。少なくともそこからパフォーマンスの問題が発生することはありません。 デバッグしやすい:これは全体としてreduxを使用するのに最も説得力のある引数ですが、シングルストアとマルチストアのどちらにも当てはまります。プロセスで状態エラー(プログラマーのミス)が発生することになっているアプリをビルドする場合、それは正常です。PITAは、これらのエラーのデバッグに数時間かかる場合です。単一のストア(およびredux-logger)のおかげで、特定の状態の問題に数分以上費やすことはありませんでした。 いくつかのポインタ reduxストアの構築における真の課題は、それをどのように構成するかを決定するときです。第一に、将来の構造変更はただの大きな痛みなのでです。第二に、それは主に使用方法を決定し、あらゆるプロセスのアプリデータをクエリするためです。ストアの構成方法については、多くの提案があります。私たちの場合、次のことが理想的であることがわかりました。 { apis: { // data from various services api1: {}, api2: {}, ... }, components: {} // UI state data for each widget, component, you name it session: {} // session-specific information } このフィードバックが他の人に役立つことを願っています。 編集2-役立つストアツール 単一のストアを「簡単に」管理する方法を疑問に思っている方は、すぐに複雑になる可能性があります。ストアの構造的な依存関係/ロジックを分離するのに役立つツールがあります。 スキーマに基づいてデータを正規化するNormalizrがあります。次にid、辞書と同様に、データを操作し、によってデータの他の部分をフェッチするためのインターフェースを提供します。 当時のNormalizrを知らなかったので、同じように何かを作りました。relational-jsonはスキーマを受け取り、テーブルベースのインターフェースを返します(データベースに少し似ています)。Relational-jsonの利点は、データ構造がデータの他の部分を動的に参照することです(基本的に、通常のJSオブジェクトと同様に、データを任意の方向にトラバースできます)。それはNormalizrほど成熟していませんが、私は数か月間、本番環境で正常に使用しています。
221 javascript  redux 

8
jQueryは選択からオプションを削除します
5つのselectがあり、すべてにクラス名「ct」があるページがあります。onclickイベントの実行中に、各選択から値「X」のオプションを削除する必要があります。私のコードは: $(".ct").each(function() { $(this).find('X').remove(); }); どこがいけないの?

7
JavaScriptでセットを模倣していますか?
私はJavaScriptで作業しています。次のプロパティを持つ、一意で順序付けされていない文字列値のリストを保存したいと思います。 「リストにAがいる」と尋ねる高速な方法は? 「リストにAが存在する場合、リストからAを削除する」ための高速な方法 「Aがまだ存在しない場合は、リストに追加する」ための高速な方法。 私が本当に欲しいのはセットです。JavaScriptでセットを模倣する最良の方法について何か提案はありますか? この質問では、プロパティを格納するキーと値をすべてtrueに設定してObjectを使用することをお勧めします。これは賢明な方法ですか?
220 javascript 

10
Angular.jsでさまざまな環境を構成するにはどうすればよいですか?
さまざまな環境の構成変数/定数をどのように管理しますか? これは例であるかもしれません: 私の残りのAPIはで到達可能ですがlocalhost:7080/myapi/、Gitバージョン管理下で同じコードで作業している私の友人は、彼のTomcatにAPIをデプロイしていますlocalhost:8099/hisapi/。 次のようなものがあるとします。 angular .module('app', ['ngResource']) .constant('API_END_POINT','<local_end_point>') .factory('User', function($resource, API_END_POINT) { return $resource(API_END_POINT + 'user'); }); 環境に応じて、APIエンドポイントの正しい値を動的に注入するにはどうすればよいですか? PHPでは通常、このようなことをconfig.username.xmlファイルで行い、基本構成ファイル(config.xml)を、ユーザーの名前で認識されるローカル環境構成ファイルとマージします。しかし、JavaScriptでこの種のことを管理する方法がわかりませんか?


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.