私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.77 +
JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
>>100
まず日本語の仕様書を熟読すべき
まず日本語の仕様書を熟読すべき
>>100
エスパー発揮しようと思ったけど無理だった。
エスパー発揮しようと思ったけど無理だった。
前スレで似たような質問ありましたがちょっと別です。
if( car_seq_id == 3 ||
car_seq_id == 9 ||
car_seq_id == 15 ||
car_seq_id == 26
){
drive();
}
は、switch文で以下のようにスッキリ書けます。
switch(car_seq_id){
case 3:
case 9:
case 15:
case 26:
drive();
break;
}
では、以下のをswitch文でコンパクトに書くことできますか?
if( car_seq_id == 3 ||
car_seq_id == 9 ||
car_seq_id == 15 && car_col_id == 2 ||
car_seq_id == 26 && car_col_id == 9
){
drive();
}
変数はcar_seq_idとcar_col_idの二つだけですが、条件となる数値は今後もどんどんふえていくので、メンテしやすくてパフォーマンスもよろしいものを望んでおります。
if( car_seq_id == 3 ||
car_seq_id == 9 ||
car_seq_id == 15 ||
car_seq_id == 26
){
drive();
}
は、switch文で以下のようにスッキリ書けます。
switch(car_seq_id){
case 3:
case 9:
case 15:
case 26:
drive();
break;
}
では、以下のをswitch文でコンパクトに書くことできますか?
if( car_seq_id == 3 ||
car_seq_id == 9 ||
car_seq_id == 15 && car_col_id == 2 ||
car_seq_id == 26 && car_col_id == 9
){
drive();
}
変数はcar_seq_idとcar_col_idの二つだけですが、条件となる数値は今後もどんどんふえていくので、メンテしやすくてパフォーマンスもよろしいものを望んでおります。
>>106,>>108
これでどうだ!
function test() {
var count = 0;
var check = [
[3],
[9],
[15, 2],
[26, 9]
];
for (var i = 0; i < check.length; i++) {
if (arguments.length == check[i].length) {
for (var j = 0; j < arguments.length; j++) {
if (check[i][j] == arguments[j]) {
count++;
} else {
break;
}
}
}
}
return (count == arguments.length);
}
alert(test(3));
alert(test(3, 5));
これでどうだ!
function test() {
var count = 0;
var check = [
[3],
[9],
[15, 2],
[26, 9]
];
for (var i = 0; i < check.length; i++) {
if (arguments.length == check[i].length) {
for (var j = 0; j < arguments.length; j++) {
if (check[i][j] == arguments[j]) {
count++;
} else {
break;
}
}
}
}
return (count == arguments.length);
}
alert(test(3));
alert(test(3, 5));
修正。countの初期化忘れてた。forより後を以下に。
for (var i = 0; i < check.length; i++) {
if (arguments.length == check[i].length) {
var count = 0;
for (var j = 0; j < arguments.length; j++) {
if (check[i][j] == arguments[j]) {
count++;
} else {
break;
}
}
if(count == arguments.length) return true;
}
}
return false;
>>109
条件となる数値checkの数を5000・check内の配列を現状+1の3([1,2,3])で最後のcheck要素にマッチするようにしてみたけど、
IEでも300msだったよ。クロムは20ms
5000もチェックしないと思うけど。
for (var i = 0; i < check.length; i++) {
if (arguments.length == check[i].length) {
var count = 0;
for (var j = 0; j < arguments.length; j++) {
if (check[i][j] == arguments[j]) {
count++;
} else {
break;
}
}
if(count == arguments.length) return true;
}
}
return false;
>>109
条件となる数値checkの数を5000・check内の配列を現状+1の3([1,2,3])で最後のcheck要素にマッチするようにしてみたけど、
IEでも300msだったよ。クロムは20ms
5000もチェックしないと思うけど。
その程度の物に何十何百ステップも掛けるな
しかも他の人が見たら何やってるのか分からないだろ
しかも他の人が見たら何やってるのか分からないだろ
switch 1つでできましたw
(function() {
var seq = function(x) { return Math.pow(2, x); };
var col = function(x) { return Math.pow(3, x); };
window.foo = function(m, n) {
m = m || 0;
n = n || 0;
switch (seq(m) * col(n)) {
case seq(3):
case seq(9):
case seq(15) * col(2):
case seq(26) * col(9):
drive();
break;
}
};
})();
function drive() {
alert("フヒヒ");
}
foo(15, 2);
foo(9, null)
foo(null, 3);
(function() {
var seq = function(x) { return Math.pow(2, x); };
var col = function(x) { return Math.pow(3, x); };
window.foo = function(m, n) {
m = m || 0;
n = n || 0;
switch (seq(m) * col(n)) {
case seq(3):
case seq(9):
case seq(15) * col(2):
case seq(26) * col(9):
drive();
break;
}
};
})();
function drive() {
alert("フヒヒ");
}
foo(15, 2);
foo(9, null)
foo(null, 3);
var a = car_seq_id, b = car_col_id;
switch (true) {
case a == 3 || a ==9:
case a == 15 && b == 2:
case a == 26 && b == 9:
drive();
break;
}
書き換えただけ('A`)
switch (true) {
case a == 3 || a ==9:
case a == 15 && b == 2:
case a == 26 && b == 9:
drive();
break;
}
書き換えただけ('A`)
>>114
気持ち悪いから式は囲えよ
気持ち悪いから式は囲えよ
「プログラミング作法」はプログラムを書く仕事に就いてる/就きたいなら読んだ方が良い
if(/3,|9,|15,2|26,9/.test([car_seq_id, car_col_id]))
drive();
drive();
120です。
実行環境はプラグインを想定しています。
今見ているブラウザをリサイズしないと
ガジェットが綺麗にレイアウトできないと思ったので・・・
実行環境はプラグインを想定しています。
今見ているブラウザをリサイズしないと
ガジェットが綺麗にレイアウトできないと思ったので・・・
>タスクバーを含まないフルサイズ
最大化ではなく全画面か
そんなことできたらうざい広告が半端なくうざいことになりそうだな
最大化ではなく全画面か
そんなことできたらうざい広告が半端なくうざいことになりそうだな
ニコニコブックマークをプラグインで実装しようと思っています。
ガジェット自体はそれを投影する透明な下敷きだと思ってください
ガジェット自体はそれを投影する透明な下敷きだと思ってください
情報を小出しにするな。
最大化はググればすぐ出る。先にいえと。
ニコニコブックマーク懐かしいな。あれ2週間でサービス終了してたのか。
最大化はググればすぐ出る。先にいえと。
ニコニコブックマーク懐かしいな。あれ2週間でサービス終了してたのか。
最大化=ウィンドウのサイズをScreenいっぱいにする、ではありません。
Windows の仕様として、最大化/最小化/元のサイズに戻す と、
ウィンドウのサイズ変更は、別の動作になっています。
最大化されたウィンドウを、スクリプトで小さくしても、Windows は
そのウィンドウは最大化されたままだと認識しているはずです。
よって書かれたような動作になります。
じゃぁ JavaScript で最大化などをコントールできるか?
window.open() のパラメータ指定以外にはできません。
よく「自分自身を最大化したい」という質問がありますが、
「window.open() で自分自身を新しく開き、古い自分は close()」
という答えしかでません。
…という状況をふまえて、仕様を修正するか、上を説得してください^^;
と出てきました。ということは今見ているブラウザ自体を
最大化することはできないんですね・・
Windows の仕様として、最大化/最小化/元のサイズに戻す と、
ウィンドウのサイズ変更は、別の動作になっています。
最大化されたウィンドウを、スクリプトで小さくしても、Windows は
そのウィンドウは最大化されたままだと認識しているはずです。
よって書かれたような動作になります。
じゃぁ JavaScript で最大化などをコントールできるか?
window.open() のパラメータ指定以外にはできません。
よく「自分自身を最大化したい」という質問がありますが、
「window.open() で自分自身を新しく開き、古い自分は close()」
という答えしかでません。
…という状況をふまえて、仕様を修正するか、上を説得してください^^;
と出てきました。ということは今見ているブラウザ自体を
最大化することはできないんですね・・
>>133
該当ブラウザのスレに行った方が良くね?
該当ブラウザのスレに行った方が良くね?
質問なんですが
javascriptのブックマークレットってあるじゃないですか
ブラウザのアドレスバーに貼り付けるとそのページの語尾が変わるものとか
javascript:void(document.body.innerHTML=document.body.innerHTML.replace(/。/g,"にょ"));
こういったブックマークレットを通したURLに直リンクする方法ってありませんか?
javascriptのブックマークレットってあるじゃないですか
ブラウザのアドレスバーに貼り付けるとそのページの語尾が変わるものとか
javascript:void(document.body.innerHTML=document.body.innerHTML.replace(/。/g,"にょ"));
こういったブックマークレットを通したURLに直リンクする方法ってありませんか?
onclick属性で指定されている動作を、HTMLを書き替えずに抑制するにはどうすればよいでしょうか
DOMレベルでonclickを上書きする
特定の関数を単に呼んでるだけなら、JSレベルでその関数を上書きするやや乱暴な方法もある
特定の関数を単に呼んでるだけなら、JSレベルでその関数を上書きするやや乱暴な方法もある
>>141-142
有り難う御座います
すみません、質問がおかしかったです
element.removeAttribute(onclick)
このような書き替え無しに、preventDefault()のような関数を使って抑制することは出来ないでしょうか
有り難う御座います
すみません、質問がおかしかったです
element.removeAttribute(onclick)
このような書き替え無しに、preventDefault()のような関数を使って抑制することは出来ないでしょうか
>>143
まず目的を説明してみないか
まず目的を説明してみないか
>>145
removeAttribute('onclick') せずに自前の処理を割り込ませてかつ onclick を無効にするには
document.addEventListener('click', function(event) {
var target = event.target;
if (関係ない要素が target だった) return;
event.stopPropagation();
foo(target);
}, true); // ←ここ重要
ってやるしかない。target がリンクとかだと event.preventDefault() も必要
removeAttribute('onclick') せずに自前の処理を割り込ませてかつ onclick を無効にするには
document.addEventListener('click', function(event) {
var target = event.target;
if (関係ない要素が target だった) return;
event.stopPropagation();
foo(target);
}, true); // ←ここ重要
ってやるしかない。target がリンクとかだと event.preventDefault() も必要
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.74 + (1001) - [97%] - 2009/12/1 6:08 ○
- + JavaScript の質問用スレッド vol.75 + (1001) - [97%] - 2010/1/23 1:07 ○
- + JavaScript の質問用スレッド vol.76 + (1001) - [97%] - 2010/3/10 4:02
- + JavaScript の質問用スレッド vol.78 + (1001) - [97%] - 2010/6/25 3:53
- + JavaScript の質問用スレッド vol.79 + (1001) - [97%] - 2010/9/11 6:50
- + JavaScript の質問用スレッド vol.87 + (1001) - [97%] - 2011/6/21 6:33
- + JavaScript の質問用スレッド vol.97 + (1001) - [97%] - 2012/3/1 3:31
- + JavaScript の質問用スレッド vol.107 + (1001) - [95%] - 2013/9/7 10:16
- + JavaScript の質問用スレッド vol.117 + (1009) - [95%] - 2014/8/5 3:30
- + JavaScript の質問用スレッド vol.127 + (160) - [95%] - 2021/7/16 9:30
- + JavaScript の質問用スレッド vol.127 + (1001) - [95%] - 2016/2/4 0:15
- + JavaScript の質問用スレッド vol.137 + (1003) - [95%] - 2019/3/26 11:46
- + JavaScript の質問用スレッド vol.94 + (1001) - [95%] - 2012/1/8 15:46
- + JavaScript の質問用スレッド vol.99 + (1001) - [95%] - 2012/5/7 4:32
- + JavaScript の質問用スレッド vol.95 + (1001) - [95%] - 2012/1/17 4:16
- + JavaScript の質問用スレッド vol.98 + (1001) - [95%] - 2012/4/9 14:46
- + JavaScript の質問用スレッド vol.93 + (1001) - [95%] - 2011/12/10 18:31
トップメニューへ / →のくす牧場書庫について