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

私的良スレ書庫

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

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

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
101 : Name_Not - 2013/07/27(土) 12:56:04.30 ID:??? (+30,-29,-5)
textareaの文字列選択を解除するにはどうやればいいですか?
102 : Name_Not - 2013/07/27(土) 14:03:23.96 ID:??? (+31,+13,-2)
知らんがな
103 : Name_Not - 2013/07/27(土) 14:12:56.53 ID:??? (+3,-30,-57)
他のブラウザだとdocument.bodyなところを、IEだとdocument.documentElementが入ってたりします
当然=== document.bodyの判断が通りません
jqueryを使って、うまいこと抽象的に判断する方法はないでしょうか?
isRootNode的な
104 : Name_Not - 2013/07/27(土) 14:44:40.29 ID:??? (+31,+13,-2)
知らんがな
105 : Name_Not - 2013/07/27(土) 15:11:52.67 ID:??? (-2,-30,-14)
$([document.body,document.documentElement]).index(target) > -1

これで出来ました\(^o^)/
106 : Name_Not - 2013/07/27(土) 16:03:19.18 ID:??? (+58,+26,-3)
>>101
フォーカス外せばいいんじゃね?
107 : Name_Not - 2013/07/27(土) 16:34:57.97 ID:??? (+57,+29,-12)
ありがとうございます
副作用として外させるのではなく、それ自体を目的としたコードにしたいのですが
そういう方法はないということでしょうか
108 : Name_Not - 2013/07/27(土) 16:51:32.77 ID:??? (+19,-8,-7)
副作用?
言っている意味がわからないけど、とりあえず.blur()を試してみて。
こういうのとは違う?
109 : Name_Not - 2013/07/27(土) 17:16:52.15 ID:??? (+20,-16,-56)
調べたところプログラミングにおける副作用は、別の意味でした
blurはフォーカスを外す機能で、
選択範囲がキャンセルされるのはそれに不随した結果ですよね。
不随した現象を目的として関数を呼ぶのはキレイではないので
選択範囲を外す機能自体を直接的に実行したい、ということです
textarea.selection.cancel()的な
110 : Name_Not - 2013/07/27(土) 17:34:35.46 ID:??? (+9,-30,-37)
なるほど。

ちょっとググってみると、クロスブラウザの問題があるけど、存在するようだよ。
ただし、textareaだけじゃなくて、地の文の選択状態なども解除しちゃうが。

IE以外だと window.getSelection().removeAllRanges(); らしい。あとは自分で調べて。
111 : Name_Not - 2013/07/27(土) 19:06:24.84 ID:??? (+18,-9,-16)
当該選択範囲が textarea の中にあるか調べてあるときだけ解除すればいいんでは。
112 : Name_Not - 2013/07/27(土) 23:15:41.14 ID:??? (+0,-29,-3)
>>109
document.writeでtextareaを書き直す
113 : Name_Not - 2013/07/27(土) 23:50:41.94 ID:??? (+9,-30,-121)
ありがとうございました
調べてみたところgetSelectionは、IE以外だと地の文だけが対象になるようです

Window オブジェクトの getSelection() メソッドは、
選択されたテキストが <input> フォーム要素や <textarea> フォーム要素中の場合は、
選択されたテキストを返しません。
(JavaScript第六版)

そしてフォーム要素で選択範囲をなくすのは、
エレメントのselectionEnd属性をselectionStart属性と同じにするだけでした
textarea.selectionEnd = textarea.selectionStart;
こんな感じで
114 : Name_Not - 2013/07/28(日) 00:24:44.89 ID:??? (+4,-30,-41)
>>113
chromeは>>110ので解除されるけど、firefoxでは解除されないな。
firefoxが仕様通りってことかな。

>textarea.selectionEnd = textarea.selectionStart;

これだと選択範囲は消えるけど、カーソルは残るね。いいのか?
115 : Name_Not - 2013/07/28(日) 00:45:54.04 ID:??? (+57,+29,-10)
フォーカスそのままで範囲選択だけをキャンセルしたかったので、
カーソルは残る方がいいです
116 : Name_Not - 2013/07/28(日) 00:49:07.59 ID:??? (+28,+29,-59)
同じフェードアウトのコードでも
IEは他と比べてじわっ・・と消えます
タイマーの挙動が違うのかなぁ
気持ちいい数値を調整しているのに、ブラウザごとにタイミングが異なるのは困ります
こういう問題どう解決しますか
117 : Name_Not - 2013/07/28(日) 01:35:59.26 ID:??? (+57,+29,-68)
http://d.hatena.ne.jp/sandai/20100513/p1

少し前の記事ですが、ブラウザにより実際の最小の間隔はかなりばらつきがあるようです
間隔を20msにして回数を調整したらほぼ同じ感じになりました
119 : Name_Not - 2013/07/28(日) 19:38:46.94 ID:??? (-1,-29,-25)
animationを使えばCSSだけでもできるんですね
要素のopacityを一つずつ変えていくよりコストが低そうで良さそうです
ありがとうございました
120 : Name_Not - 2013/07/28(日) 20:50:10.28 ID:??? (+57,+29,-42)
CSS3はGPUの支援を受けられるから同じような動きでも
setIntervalなんかでやるより滑らかに表現できることが多いからオススメ
実際にやってみると違うのがわかるよ
121 : Name_Not - 2013/07/28(日) 21:19:20.33 ID:??? (-1,-29,-6)
スクリプトでやるならrequestAnimationFrameを
122 : Name_Not - 2013/07/29(月) 14:33:13.81 ID:??? (-2,-30,-65)
指定したセレクタの指定した属性を参照する、ということがlessには出来ないっぽいですが
それができるlessみたいなプロダクトありますか?

hoge {
left: 100px;
}
fuga{
123 : Name_Not - 2013/07/29(月) 14:34:07.45 ID:??? (+22,-30,-65)
途中で書き込んでしまった

hoge {
left: 100px;
}
fuga{
left: {hoge.left}
}

こんなイメージです
124 : Name_Not - 2013/07/29(月) 21:33:26.33 ID:??? (+48,+15,-5)
>>123
スレタイ読めないの?
125 : Name_Not - 2013/07/30(火) 00:39:21.62 ID:??? (+9,-30,-120)
>>124
指定した箇所のリンク色だけ変更したいと思っています。

a:link
{
color: #15c;
}
.footer
{
width: 100%;
padding: 2px 0px 2px 0px;
background-color: #cbc9cc;
color: #2b2b2b;
font-size: 90%;
font-weight: bold;
}
現在はこのようになっていますが、これだとページ全体のリンク色が指定されてしまいます。
heading内だけリンク色を変更するにはどのようにすればよいのでしょうか?
126 : Name_Not - 2013/07/30(火) 01:14:58.74 ID:??? (+10,-30,-94)
Math.pow(,)を使ってちょっと複雑な計算をしたいのですが、結果にNaNが出てしまいます。
やりたいことはこのような計算なのですがうまくいきません。
aaa = 10;
bbb = 12;
ans = 1 - Math.pow((aaa - 1 )/ aaa ,bbb) * 100;
ちゃんと数値として認識されて計算処理ができればうまくいきそうですが、やり方が分かりませんでした。
どのように記述すればうまく計算できるでしょうか?
128 : Name_Not - 2013/07/30(火) 07:13:31.45 ID:??? (+57,+29,-1)
>>126
何この気色悪い空白の使い方
129 : Name_Not - 2013/07/30(火) 13:54:36.98 ID:??? (-1,-29,-19)
>>126
まずはpowの中身だけ実行してみるとか、
pow(2, bbb)とかを実行して、
どこにバグがあるのか確かめなよ。
130 : Name_Not - 2013/07/30(火) 14:03:12.69 ID:??? (-1,-29,-20)
NaNでだろ~ぉ、NaNでだろ~ぉ、

完全に文字列(数字以外の値)を入れるとNaNだね。
131 : Name_Not - 2013/07/30(火) 14:21:39.93 ID:??? (+9,-30,-61)
Cみたいな性的変数は使えますか?
var count=0;
function getcount(){
count++; return count;
}
みたいなコードを使ってるんですが、count変数を関数のなかにとじこめたいです
132 : Name_Not - 2013/07/30(火) 15:20:32.61 ID:??? (+0,-29,-1)
>>126
どこかで 0 / 0 になってないか。
133 : Name_Not - 2013/07/30(火) 15:41:01.39 ID:??? (+38,-30,-80)
>>131
//関数プロパティ(外部から書きかれられてしまう)
getCount.count = 0;
function getCount(){
return ++getCount.count;
}

//クロージャ
getcount = (function(){
var count = 0;
return function(){return ++count}
})();

for(var i=0; i<3; i++){
alert(getCount() + " : " + getcount());
}
134 : Name_Not - 2013/07/30(火) 17:47:43.43 ID:??? (+12,-29,-164)
その時点で必要でない要素はvisibilityをhiddenにしていたのですが
表示しないDOM要素が増えてくると、動作が遅くなってきました
ハンドラを付けてもおらず、表示してもいないDOM要素でも、
増えると速度低下を引き起こすのでしょうか?
DOMをキャッシュ的に使うのは得策ではなく、
適時DOM要素を作成したり除去したりするべきなのでしょうか?
135 : Name_Not - 2013/07/30(火) 18:07:09.20 ID:gh/ZkKwQ (-20,+29,-26)
>>134
どういうことをしようとしているかにもよると思うけど…
> DOMをキャッシュ的に使う
とは具体的にどういうこと?
136 : Name_Not - 2013/07/30(火) 18:08:13.21 ID:??? (-1,-29,-16)
>>134
displayをnoneでいいじゃん
137 : Name_Not - 2013/07/30(火) 18:24:50.11 ID:??? (+0,-27,-67)
前もってDOM要素を作成しておいてすぐに表示できるようにしておくという意味でした
display:noneなら速度低下しませんか?
それでやってみます
ありがとうございました
140 : Name_Not - 2013/07/31(水) 06:56:58.93 ID:??? (+51,+29,-2)
>>139
おおこんなのがあったんですね
ありがとうこざいました!
141 : Name_Not - 2013/07/31(水) 09:52:40.56 ID:??? (+63,+29,-13)
>>133
クロージャのなかの変数って永遠に保持されるって思えばいいの?
ありがとう
142 : Name_Not - 2013/07/31(水) 11:19:15.31 ID:??? (+0,-28,-5)
onloadって、1回使われたら空になるの?
143 : Name_Not - 2013/07/31(水) 11:21:31.92 ID:YSblZ2ok (-19,+29,-2)
空ってどういうこと?
145 : Name_Not - 2013/07/31(水) 11:31:03.75 ID:??? (+52,+29,-3)
空になりたい 自由な空へ
147 : Name_Not - 2013/07/31(水) 13:46:32.12 ID:S41nTrD2 (+24,+29,-5)
IEはキャッシュしてるとダメみたいなことがあったかもしれん
148 : Name_Not - 2013/07/31(水) 14:49:15.93 ID:??? (+57,+29,-42)
キャッシュ対策で?と時刻つけたりしても駄目っぽい
IE以外で確認したら何か分かったりするかな
ファイヤーフォックスでもインストールしてみるか
149 : Name_Not - 2013/07/31(水) 16:59:10.59 ID:??? (+55,+25,-6)
NaNって何て読むんですか?ナン?
150 : Name_Not - 2013/07/31(水) 18:27:10.85 ID:H5HG5md1 (+2,-30,-125)
ページスクロールをスムーズにするjavascriptを入れてるんですが、
<form action="#shita">、<input type="submit" value="計算">を使って
ボタンを押すと同ページの下に行くようにしたいのですがどうすればいいでしょうか?
PHPを使って計算をして結果を下に表示したいと思ってます。
通常のページ移動はスムーズになるようになりましたが、ボタンを押した際の移動が
スムーズになりません。
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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