のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,491,331人
昨日:no data人
今日:
最近の注目
人気の最安値情報

私的良スレ書庫

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

元スレ+ JavaScript の質問用スレッド vol.138 +

JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
851 : Name_Not - 2019/04/15(月) 14:20:49.73 ID:???.net (-1,-29,-8)
IEだけでなく、NoxPlayerに最初から入ってるブラウザもエラーが出ませんでした。
852 : Name_Not - 2019/04/15(月) 14:21:39.73 ID:???.net (-1,-29,-20)
誤:エラーが出ませんでした。
正:判定ロジックによる alert() 表示が出ませんでした。
853 : Name_Not - 2019/04/15(月) 18:21:37.94 ID:???.net (-4,-30,-150)
>>837

function removeUnnecessaryAttrs(tagName) {
const tags = document.getElementsByTagName(tagName);
for (let i = 0; i < tags.length; ++i) {
const t = tags[i];
const n = document.createElement(tagName);
n.src = t.src;
n.href = t.href;
t.parentNode.replaceChild(n, t);
}
}

いちいち属性名しらべたりしないで、新しいの作って差し替えるほうがらくじゃね?
854 : Name_Not - 2019/04/15(月) 19:13:32.51 ID:???.net (+87,+29,-34)
15パズルやってるんですが、すでに5行目くらいから理解できないのですが、わからない時のアプローチっていうんですか?
なんか、理解を助ける方法みたいなものありますか?
855 : Name_Not - 2019/04/15(月) 19:21:44.68 ID:???.net (+25,-7,-37)
五行目ってこれ?
let container = null; // パズル本体
これ分からないなら、無理だと思う。いくら何でも基礎知識が無さすぎる

そもそも、15パズルから入るのは変だと思う
DOM操作か何か、もっと基礎的なところから始めたら?
856 : Name_Not - 2019/04/15(月) 19:43:37.29 ID:???.net (+9,-30,-83)
それじゃないです
function slide(elem, dx, dy) {
const x = Math.max(Math.min(3, parseInt(elem.dataset.x) + dx), 0);
}
function()
これです

それはからの変数定義ですよね
最も大きい数字をとってくるのがmath.max、小さい数字がmath.minというのがわかるのですが、これ一行ではデバッグしてもエラーになります
857 : Name_Not - 2019/04/15(月) 19:58:36.32 ID:???.net (+96,-29,-77)
>>856
一行だけ実行してもそりゃエラーが出る
全体を通せばエラーにはならない
http://jsfiddle.net/obscd3ea/

clickにaction()をバインド→actionの中でslide()を呼び出している
そして更にelem、(多分パズルのピースのdivかなんか)を渡している
858 : Name_Not - 2019/04/15(月) 19:58:36.78 ID:???.net (+60,+26,+0)
>>854
分割統治法
859 : Name_Not - 2019/04/15(月) 20:21:11.03 ID:???.net (-1,-29,-19)
PlayCanvasは普及するでしょうか?
860 : Name_Not - 2019/04/15(月) 20:26:09.81 ID:???.net (+50,+27,+0)
するわけないじゃんwww
861 : Name_Not - 2019/04/15(月) 22:33:18.05 ID:???.net (+57,+29,-23)
こういうのが全く無いのもいけないし、ありすぎてもいけない
誰も使わないと途絶えるし、流行りすぎると弊害がある
今くらいが本当にちょうどいい
862 : Name_Not - 2019/04/16(火) 00:06:29.74 ID:???.net (+41,-29,-90)
初歩的な質問ですみません。

a:hoverした際に、該当のhtmlページをiframeで表示する機能を実装したいのですが、
何か手頃なソースなどはありますか?
調べても、リンクの側に小さくサムネを表示させるようなものしか出てきません。
htmlの方は既に書き終えているのですが・・・aタグをホバーした時に反映されるようにするところで詰まってます
863 : Name_Not - 2019/04/16(火) 01:04:51.28 ID:???.net (+163,+26,-1)
>>862
こんな感じ?
かなりキモイけど
http://jsfiddle.net/Ldqt1ypz/1/
864 : Name_Not - 2019/04/16(火) 05:09:37.00 ID:???.net (+3,-30,-88)
>>841
Quokka.js という拡張機能で、
そのファイル内と端末に、リアルタイムに変数の内容が表示される

ただし、端末からしかコピーはできない。
ファイル内には、Canvas で出力しているのかも?

Ctrl+Shift+P で、Quokka.js new file で使える。
ただし、保存したファイルからは、使えない
865 : Name_Not - 2019/04/16(火) 05:21:46.29 ID:???.net (+63,+29,-5)
>>857
ありがとうございます
1つ1つ試していかないと理解がおいつかないもので
866 : Name_Not - 2019/04/16(火) 05:22:48.22 ID:???.net (+85,-30,-39)
>>862-863
「jquery hover」で検索!

$( セレクター ).hover(
function() {
//マウスカーソルが重なった時の処理
},
function() {
//マウスカーソルが離れた時の処理
}
);
867 : Name_Not - 2019/04/16(火) 07:01:38.78 ID:???.net (+96,+30,-73)
ユーザーが入力したキーワードに当てはまるものを配列の中から選びたいです
これが完全一致とか部分一致の場合は簡単ですが、
似ているようなものを選択できる曖昧な一致を判断したいです
例えば「カエル」と言う言葉に対して「オーエス」よりも「カーネル」が
よりマッチしていると言う感じに判断したいのですが
良いアルゴリズムはありますでしょうか
868 : Name_Not - 2019/04/16(火) 07:19:46.32 ID:???.net (+10,-12,+0)
機械学習・AI は、Python
869 : Name_Not - 2019/04/16(火) 08:37:47.05 ID:???.net (+90,+29,-60)
>>867
形態素解析後に類語辞書を引っ張る
アルゴリズムよりも辞書を用意する方が苦労するような
870 : Name_Not - 2019/04/16(火) 08:39:59.18 ID:???.net (+100,+29,+0)
>>866
>>863
ありがとうございますー。ちょっと調べてみますわ
871 : Name_Not - 2019/04/16(火) 09:19:37.30 ID:???.net (+66,+29,-3)
>>870
聞くときだけ敬語?
872 : Name_Not - 2019/04/16(火) 09:23:23.46 ID:???.net (+57,+29,-20)
ありがとうございますは敬語だろうが。コチャゴチャ抜かすとブッ飛ばすぞ。
873 : Name_Not - 2019/04/16(火) 10:03:14.97 ID:???.net (+71,+26,-20)
>>863
これって一ページだけなんですな。
複数のaタグがある状態で、それぞれホバーしたらiframeに出るっていうのがやりたくて・・・
875 : Name_Not - 2019/04/16(火) 11:03:09.37 ID:???.net (+116,+29,-60)
>>863>>866
http://jsfiddle.net/p6q0bo7g/1/

すみません、追加で質問です。このような形で、2つに分割した状態になってます。
この時、左側のタブのaタグをそれぞれhoverした時、右側のiframeにそれを反映する方法
について調べています。クリック時に表示させるところまではいったのですが、
ホバー時にも同様に表示させるところでつまずいています。
876 : Name_Not - 2019/04/16(火) 11:17:28.18 ID:???.net (+9,-30,-45)
配列の全要素に共通する前方一致文字列を置換したいのですが、何かいい方法ってありますか??

置換前
c:¥aaaa¥bbbb¥cccc¥a.txt
c:¥aaaa¥bbbb¥cccc¥b.txt

置換後
/home/a.txt
/home/b.txt

¥でスプリットしてループで回して確認していくしかないでしょうか。
877 : Name_Not - 2019/04/16(火) 11:29:47.02 ID:???.net (+14,-30,-28)
>>874
配列状の物を添字を使って削除する時は後ろからやるのがセオリー
for (j=tag[i].attributes.length ; --j >= 0; )
878 : Name_Not - 2019/04/16(火) 11:40:54.83 ID:???.net (+45,+15,+1)
>>877
ご教示ありがとうございました
879 : Name_Not - 2019/04/16(火) 11:43:45.56 ID:???.net (+104,+30,+0)
880 : Name_Not - 2019/04/16(火) 12:15:33.78 ID:99qp+ZVK.net (+143,+30,-148)
>>869
類語もある方がより良いとは思うのですが
私が今求めているものは、ユーザーがうろ覚えのキーワードを入力しても欲しかった用語がマッチするようにするための
単語の意味ではなく【文字間の関係性】を計算するアルゴリズムで、
今は「カエル」なら「カ→エ」「カ→ル」「エ→ル」
のような繋がりでチェックしたり、他にも文字数の一致度などから適当にやってまして
より精度を上げるためにローマ字化したりしようかなどと考えたのですが、もうすでにある程度確立された素敵なアルゴリズムや、モデルがあるのではないかと思い質問しました。
881 : Name_Not - 2019/04/16(火) 12:32:58.91 ID:???.net (+71,+29,-24)
>>857
これ、2、3行でデバッグできないんですかね
少ないコードで動作確認しないとどういう動きかわからないです
882 : Name_Not - 2019/04/16(火) 12:38:57.63 ID:???.net (+65,+23,+0)
>>879
ありがとうございます。出来ました
883 : Name_Not - 2019/04/16(火) 12:48:48.88 ID:???.net (+75,-29,-18)
>>881
jsのステップインを使うと良い
js chrome デバッガ
辺りで検索
884 : Name_Not - 2019/04/16(火) 13:04:35.75 ID:???.net (+67,+29,-18)
>>880
省入力候補/推測変換のことか?
IMEの仕事を肩代わりしたいなら、変換用の辞書を用意するしかなかろう
885 : Name_Not - 2019/04/16(火) 13:32:39.97 ID:???.net (+106,+29,-14)
>>880
レーベンシュタイン距離とか
886 : Name_Not - 2019/04/16(火) 13:34:45.71 ID:???.net (+8,-30,-209)
forやwhileについて勉強しています
全ての配列が対象の場合はmapやforEachのほうが簡便と書かれたサイトがあり、以下の
置き換えを試みたのですが上手くいきません。原因か、そもそも不理解でもあるのでしょうか

const getTag = doc.getElementsByTagName('a');
for (let i = 0; i < getTag.length; i = (i + 1) | 0) {
const node = getTag[i];
node.href = node.href.replace(/ttp/, 'ttps');
}

const getTag = doc.getElementsByTagName('a');
getTag .forEach(function(item, i) {
item[i].href = item[i].href.replace(/ttp/, 'ttps');
});
887 : Name_Not - 2019/04/16(火) 13:50:51.32 ID:???.net (+63,+29,-15)
>>883
次はデバッガの使い方聞いてくるんじゃないのこの人
即時関数がわからんレベルなのになんで基礎から勉強しないんだろう
888 : Name_Not - 2019/04/16(火) 13:52:43.45 ID:???.net (+77,+30,+0)
889 : Name_Not - 2019/04/16(火) 14:33:43.04 ID:???.net (+6,-30,-145)
>>886
getElementsByTagName()の返り値はArrayではなくHTMLCollectionだよ

forEach使いたいならHTMLCollectionをArrayに変換すること
Array.prototype.slice.call(docment.getElementsByTagName('a')).forEach(function(node){
node.href = node.href.replace('ttp', 'ttps');
});

あと、無駄に正規表現使うのはバカに見えるからやめたほうがいいぞ
890 : Name_Not - 2019/04/16(火) 15:10:34.12 ID:???.net (+57,+29,-8)
…あまり強い言葉を使うなよ 弱く見えるぞ
891 : Name_Not - 2019/04/16(火) 15:14:58.68 ID:???.net (+49,+28,-14)
正規表現使ったらバカに見えるのか
892 : Name_Not - 2019/04/16(火) 15:17:50.65 ID:???.net (+46,+18,-14)
まあ正規表現使ってる意味ない部分だしな
893 : Name_Not - 2019/04/16(火) 15:19:54.77 ID:???.net (+57,+29,-18)
疲れたら妙に難しい方法でコード書くことあるよね・・・
朝起きて見直すと俺何やってんだって気分になる
895 : Name_Not - 2019/04/16(火) 15:25:13.56 ID:???.net (+68,+29,+0)
>>883
ありがとうございまし
初めて知りました
897 : Name_Not - 2019/04/16(火) 15:39:08.53 ID:Er1Gv08x.net (+58,-30,-16)
>>896
素直にreplace('http://', 'https://')でよくない?
なにやりたいか一目でわかるし
898 : Name_Not - 2019/04/16(火) 15:46:28.36 ID:???.net (+56,+28,-13)
スラッシュ入れなくていいんじゃないか
899 : Name_Not - 2019/04/16(火) 15:50:54.02 ID:???.net (-12,-30,-38)
>>897
そうですね 可読性には気を付けるべきでした

ちなみに、今回の場合はfor、while、map、forEach
どれを使うべきなのでしょうか
速度だとforやwhileのようですが
900 : Name_Not - 2019/04/16(火) 15:57:07.16 ID:???.net (+51,+10,-19)
>>857を修正

(存在理由が)よくわからん、無駄な処理をなくした。(ごめん笑)

http://jsfiddle.net/z5drg4Ly/
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について