私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.75 +
JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 : ○
レスフィルター : (試験中)
innerWidthが0のとき
DOM1なら必ず存在するdocumentElementをチェック
そして互換モード時は0になり、この場合は標準モード時でも0であろう
documentElement.clientWidthを見て
フォールバックとしてDOM0でも存在が怪しいbody.clientWidthを見て終了
いやはや
DOM1なら必ず存在するdocumentElementをチェック
そして互換モード時は0になり、この場合は標準モード時でも0であろう
documentElement.clientWidthを見て
フォールバックとしてDOM0でも存在が怪しいbody.clientWidthを見て終了
いやはや
http://developer.apple.com/jp/documentation/ScriptingAutomation/Conceptual/JSCodingGuide/OOJavaScript/chapter_4_section_3.html#//apple_ref/doc/uid/TP40006088-CH4-SW1
ここのページにnewとdeleteはセットで使う必要があるみたいなことが書いてあるんだけど
少なくともsafariではこれに倣って必ずやらないといけないのかな
それともただ単にいらないものは几帳面に消しておくということなのか
ここのページにnewとdeleteはセットで使う必要があるみたいなことが書いてあるんだけど
少なくともsafariではこれに倣って必ずやらないといけないのかな
それともただ単にいらないものは几帳面に消しておくということなのか
計算についての質問なのですが、
足し算で、2つのフォームから数字を入力してjavascriptで自動計算して足し算するとして、
1+1のように入力すればいいのですが、1+001 などと0を付けて書かれた場合にうまく計算されなくなってしまいます。
こういうものはどのようにして対処すればいいのでしょうか。
足し算で、2つのフォームから数字を入力してjavascriptで自動計算して足し算するとして、
1+1のように入力すればいいのですが、1+001 などと0を付けて書かれた場合にうまく計算されなくなってしまいます。
こういうものはどのようにして対処すればいいのでしょうか。
今やって見たら001は大丈夫そうだったので訂正
0101+1のような場合です、番号のように書かれてしまった場合にズレるのをどう直したらいいでしょうか
0101+1のような場合です、番号のように書かれてしまった場合にズレるのをどう直したらいいでしょうか
>>656
まず、そのような期待する数値以外の入力をどう処理したいのか決めないと。
まず、そのような期待する数値以外の入力をどう処理したいのか決めないと。
んーと・・・
最初の0を取り除いて、「計算させたい」です
10進法になってないところを10進法にしたいです
0101+1なら101+1の102にしたいです
0010などと入力されても10として計算できるようにしたいです
うまい対処の仕方を知りたいのです
「最初に0を入力させない」や「数字を選択方式にする」以外の方法がいいです
0は自由に入力されてしまうとして、ベストだと思う解決法を教えてください
最初の0を取り除いて、「計算させたい」です
10進法になってないところを10進法にしたいです
0101+1なら101+1の102にしたいです
0010などと入力されても10として計算できるようにしたいです
うまい対処の仕方を知りたいのです
「最初に0を入力させない」や「数字を選択方式にする」以外の方法がいいです
0は自由に入力されてしまうとして、ベストだと思う解決法を教えてください
>>659
正規表現で先頭の0を探して、replaceで削除
正規表現で先頭の0を探して、replaceで削除
>>659
parseInt("0101", 10)で101になる
parseInt("0101", 10)で101になる
すまん、そっちのほうがよさそう
>>661
Number("0101") -> 101
Number("0101") -> 101
>>> 034
28
>>> Number(034)
28
>>> Number("034")
34
28
>>> Number(034)
28
>>> Number("034")
34
これをもっとスマートに短く書くにはどうすればいいですか?
var URL = window.location.pathname.match(/(.*?)\//g);
URL = thisURL[thisURL.length-1];
var URL = window.location.pathname.match(/(.*?)\//g);
URL = thisURL[thisURL.length-1];
途中で送信してしまいました。
これをもっとスマートに短く書くにはどうすればいいですか?
var URL = window.location.pathname.match(/(.*?)\//g);
URL = thisURL[thisURL.length-1];
var file = window.location.pathname.match(/([^\/]+?)$/);
str = URL + file;
alert(str);
これをもっとスマートに短く書くにはどうすればいいですか?
var URL = window.location.pathname.match(/(.*?)\//g);
URL = thisURL[thisURL.length-1];
var file = window.location.pathname.match(/([^\/]+?)$/);
str = URL + file;
alert(str);
たびたびすみません
URL = URL[URL.length-1];
です...
URL = URL[URL.length-1];
です...
ht~aa/bb/cc/dd
→cc/ddってこと?
var u = window.location.pathname.match(/[^\/]+/g);
str = u[u.length-1] +'/' +u[u.length]
というか、window.location.pathname.match(/([^\/]+\/[^\/]+)$/);
使い方がわからんが。
→cc/ddってこと?
var u = window.location.pathname.match(/[^\/]+/g);
str = u[u.length-1] +'/' +u[u.length]
というか、window.location.pathname.match(/([^\/]+\/[^\/]+)$/);
使い方がわからんが。
"aaa/bbb/ccc/ddd".match(/[^\/]+\/[^\/]+$/)[0]
>>667
parseInt(eval(thisURL=@,[[0],[1]]),false);
parseInt(eval(thisURL=@,[[0],[1]]),false);
"aaa/bbb/ccc/ddd".match(/[^\/]+\/[^\/]+$/)[0]
これって、ddd 取り出すときは
"aaa/bbb/ccc/ddd".match(/[^\/]+$/)[0]
ですよね?
/ccc/
を取り出すにはどうすればいいの?
これって、ddd 取り出すときは
"aaa/bbb/ccc/ddd".match(/[^\/]+$/)[0]
ですよね?
/ccc/
を取り出すにはどうすればいいの?
"aaa/bbb/ccc/ddd".match(/(\/[^\/]+\/)[^\/]+$/)[1]
[ 正規表現 match ] ・ [ 配列 javascript ]
でそれぞれググるよろし。
[ 正規表現 match ] ・ [ 配列 javascript ]
でそれぞれググるよろし。
どーもです!
実は[1]にしたらundeだったんで質問しますた
もっかいやりまーす
実は[1]にしたらundeだったんで質問しますた
もっかいやりまーす
JavaScriptの勉強がしたいのですが、どの本がおすすめですか?
C言語は知っています。作りたい具体的なプログラムはありません。
C言語は知っています。作りたい具体的なプログラムはありません。
読んだ中では head first javascript
http://www.amazon.co.jp/dp/4873113733
ただ ``作りたい具体的なプログラムはありません。'' ってのがjs学ぼうって奴にしては珍しいな
http://www.amazon.co.jp/dp/4873113733
ただ ``作りたい具体的なプログラムはありません。'' ってのがjs学ぼうって奴にしては珍しいな
document.TxtArea.myText.value += "("+day[cnt2]+")"+hour+":"+min+"\n";
上記の最後の改行部分 \n" を消して改行しないようにしたいのですが \n"を消すと動作しなくなりました。
上記は計算したものを表示するテキストエリアに表示させる部分なのですが、なぜかこの後に記述した
ここに表示された文字をコピーさせるボタンも動作しなくなります。
何がしたいかと言うとこのままだと表示に改行が入り、コピーした場合1行しか貼り付け出来ない所に
貼り付けると3行あっても1行しか貼り付けられないのを回避したい為、表示の時点で改行を消し1行にしたいのです。
よろしくお願いしまっす。
上記の最後の改行部分 \n" を消して改行しないようにしたいのですが \n"を消すと動作しなくなりました。
上記は計算したものを表示するテキストエリアに表示させる部分なのですが、なぜかこの後に記述した
ここに表示された文字をコピーさせるボタンも動作しなくなります。
何がしたいかと言うとこのままだと表示に改行が入り、コピーした場合1行しか貼り付け出来ない所に
貼り付けると3行あっても1行しか貼り付けられないのを回避したい為、表示の時点で改行を消し1行にしたいのです。
よろしくお願いしまっす。
文字列と変数についてもう一度ググッてくれば良いんじゃない。
\n"を消すとその後も動かなくなるのはそこでルール違反しているから。
\n"を消すとその後も動かなくなるのはそこでルール違反しているから。
CSSの独自プロパティtext-overflowを標準化したいってことじゃないかな
createElementでdiv作って100px超えないようにvariableを調整したあとに
width:100px;は最後に設定するとかっていうのはどうだろうか
width:100px;は最後に設定するとかっていうのはどうだろうか
jsで埋め込むと何故かtezt-overflowが効かないな。<nobr>で囲ったような表示になる。
<span style="margin:0 0 0 10px; text-overflow:ellipsis; white-space:nowrap; overflow:hidden; width:100px;">~~</span>
<span style="margin:0 0 0 10px; text-overflow:ellipsis; white-space:nowrap; overflow:hidden; width:100px;">~~</span>
>>692
tezt-overflow
tezt-overflow
cssで解決すべき問題だったんですね。
すれ違いの質問に有り難うございます、やってみます。
すれ違いの質問に有り難うございます、やってみます。
もう用なしっぽいけど、書いちゃったし。。。
var AnyWidth = (function () {
var getWidth = function (txt) { //txt幅を返す(プライベート関数)
var n = 0, body = document.body;
if (body) {
var d = document.createElement("div"), t = document.createTextNode(txt);
d.appendChild(t); d.style.visibility = 'hidden';
d.style.position = 'absolute'; d.style.whiteSpace = 'nowrap';
body.appendChild(d); n = d.clientWidth; body.removeChild(d);
}
return n;
}
return {
getStr: function (txt, w) { //w幅に収まるtxtを返すメソッド
var str = "";
if (!getWidth(txt) || getWidth(txt) < w) { str = txt; }
else {
for (var i = txt.length; i >= 0; i--) {
var s = txt.substring(0, i) + "...";
if (getWidth(s) <= w) { str = s; break; }
}
}
return str;
},
createElm: function (tag, txt, w) { //w幅に収まるtxtを持つw幅のtag要素を生成して返すメソッド
var d = document.createElement(tag), t = document.createTextNode(AnyWidth.getStr(txt, w));
d.appendChild(t); d.style.width = w + "px";
return d;
}
}
})();
var AnyWidth = (function () {
var getWidth = function (txt) { //txt幅を返す(プライベート関数)
var n = 0, body = document.body;
if (body) {
var d = document.createElement("div"), t = document.createTextNode(txt);
d.appendChild(t); d.style.visibility = 'hidden';
d.style.position = 'absolute'; d.style.whiteSpace = 'nowrap';
body.appendChild(d); n = d.clientWidth; body.removeChild(d);
}
return n;
}
return {
getStr: function (txt, w) { //w幅に収まるtxtを返すメソッド
var str = "";
if (!getWidth(txt) || getWidth(txt) < w) { str = txt; }
else {
for (var i = txt.length; i >= 0; i--) {
var s = txt.substring(0, i) + "...";
if (getWidth(s) <= w) { str = s; break; }
}
}
return str;
},
createElm: function (tag, txt, w) { //w幅に収まるtxtを持つw幅のtag要素を生成して返すメソッド
var d = document.createElement(tag), t = document.createTextNode(AnyWidth.getStr(txt, w));
d.appendChild(t); d.style.width = w + "px";
return d;
}
}
})();
>>696続き
<body>
<script type="text/javascript">
var variable = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
document.write("<div id='test'>" + AnyWidth.getStr(variable, 100) + "</div>");
//createElmメソッド使用例
var testElm = document.getElementById("test");
var elm = AnyWidth.createElm("div", variable, 200);
testElm.parentNode.appendChild(elm);
alert("test " + testElm.clientWidth + "px / hoge " + elm.clientWidth + "px");
</script>
</body>
body要素認識後でないと使えない。
エラは吐かないけど、渡した文字列をそのまま返す。
大量の文字列は適当に削って渡さないとかなり重い:-(
<body>
<script type="text/javascript">
var variable = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
document.write("<div id='test'>" + AnyWidth.getStr(variable, 100) + "</div>");
//createElmメソッド使用例
var testElm = document.getElementById("test");
var elm = AnyWidth.createElm("div", variable, 200);
testElm.parentNode.appendChild(elm);
alert("test " + testElm.clientWidth + "px / hoge " + elm.clientWidth + "px");
</script>
</body>
body要素認識後でないと使えない。
エラは吐かないけど、渡した文字列をそのまま返す。
大量の文字列は適当に削って渡さないとかなり重い:-(
>>695
CSSでは解決できない問題だから↑の人が書いてくれたのを使いなさい
CSSでは解決できない問題だから↑の人が書いてくれたのを使いなさい
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
みんなの評価 : ○類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.95 + (1001) - [97%] - 2012/1/17 4:16
- + JavaScript の質問用スレッド vol.74 + (1001) - [97%] - 2009/12/1 6:08 ○
- + JavaScript の質問用スレッド vol.76 + (1001) - [97%] - 2010/3/10 4:02
- + JavaScript の質問用スレッド vol.77 + (1001) - [97%] - 2010/5/8 19:06
- + JavaScript の質問用スレッド vol.78 + (1001) - [97%] - 2010/6/25 3:53
- + JavaScript の質問用スレッド vol.79 + (1001) - [97%] - 2010/9/11 6:50
- + JavaScript の質問用スレッド vol.85 + (1001) - [97%] - 2011/4/25 21:32
- + JavaScript の質問用スレッド vol.105 + (1001) - [95%] - 2013/5/20 4:45
- + JavaScript の質問用スレッド vol.115 + (1001) - [95%] - 2014/5/29 16:16
- + JavaScript の質問用スレッド vol.125 + (1001) - [95%] - 2015/10/7 17:45
- + JavaScript の質問用スレッド vol.135 + (1002) - [95%] - 2018/11/23 10:30
- + JavaScript の質問用スレッド vol.96 + (1001) - [95%] - 2012/1/28 23:01
- + JavaScript の質問用スレッド vol.93 + (1001) - [95%] - 2012/1/1 4:46
- + JavaScript の質問用スレッド vol.94 + (1001) - [95%] - 2012/1/8 15:46
- + JavaScript の質問用スレッド vol.99 + (1001) - [95%] - 2012/5/7 4:32
- + JavaScript の質問用スレッド vol.97 + (1001) - [95%] - 2012/3/1 3:31
- + JavaScript の質問用スレッド vol.98 + (1001) - [95%] - 2012/4/9 14:46
トップメニューへ / →のくす牧場書庫について