私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.78 +
![](../../../newbb/images/imagesets/default/up-a.png)
みんなの評価 :
レスフィルター : (試験中)
フルブラウザ用に即席で単純なbookmarkletを作ったことあるけど
あのダイヤル入力でサクサクは無理だった
あのダイヤル入力でサクサクは無理だった
>>751
色ごとにbeginPathが必要
色ごとにbeginPathが必要
一日ずーといじってたら、何をどうして良いのか分からなくなって仕事がすっかり止まってしまった
>>753
レス有難うございます。beginPathを含めましたが、今度は線そのものが出なくなりました。
Googleで調べましたが、面内のグラデーション記述はありましたが、線の色変更は見つかりませんでした。
下記が試したコードです。
context0.moveTo(0, 0)
context0.lineWidth = 5;
var x = 10;
var dx = 1;
var iroX;
function draw() {
x += dx;
y += dy;
iroX="#9999"+x.toString(16);
//
context0.beginPath();
context0.strokeStyle = iroX;
context0.lineTo(x, y);
context0.closePath();
context0.stroke();
}
function startDraw() {
timerID=setInterval(draw, 20);//繰り返す
}
再度間違いをご指摘頂けないでしょうか?
レス有難うございます。beginPathを含めましたが、今度は線そのものが出なくなりました。
Googleで調べましたが、面内のグラデーション記述はありましたが、線の色変更は見つかりませんでした。
下記が試したコードです。
context0.moveTo(0, 0)
context0.lineWidth = 5;
var x = 10;
var dx = 1;
var iroX;
function draw() {
x += dx;
y += dy;
iroX="#9999"+x.toString(16);
//
context0.beginPath();
context0.strokeStyle = iroX;
context0.lineTo(x, y);
context0.closePath();
context0.stroke();
}
function startDraw() {
timerID=setInterval(draw, 20);//繰り返す
}
再度間違いをご指摘頂けないでしょうか?
context0.beginPath();
context0.moveTo(0, 0);
context0.moveTo(0, 0);
>>758
すいません、変更箇所は
context0.beginPath();をcontext0.moveTo(0, 0); の前に置くだけなのでしょうか?
変化がありませんが・・・
HTML全体をTxtでUpしました。
http://uproda11.2ch-library.com/247176oLw/11247176.txt
すいません、変更箇所は
context0.beginPath();をcontext0.moveTo(0, 0); の前に置くだけなのでしょうか?
変化がありませんが・・・
HTML全体をTxtでUpしました。
http://uproda11.2ch-library.com/247176oLw/11247176.txt
てか、
var grad = ctx.createLinearGradient(0, 0, WIDTH,0);
grad.addColorStop(0,'#999900');
grad.addColorStop(1,'#9999ff');
ctx.strokeStyle = grad;
ってしておいて、setIntervalのなかで
ctx.lineTo(x, y);
ctx.stroke();
だけでいけるよ
yの初期化忘れないようにね
var grad = ctx.createLinearGradient(0, 0, WIDTH,0);
grad.addColorStop(0,'#999900');
grad.addColorStop(1,'#9999ff');
ctx.strokeStyle = grad;
ってしておいて、setIntervalのなかで
ctx.lineTo(x, y);
ctx.stroke();
だけでいけるよ
yの初期化忘れないようにね
あんま中学生いじめてやるなよ
書籍かえばノートにでも考えながら書いて
いざパソコンを触る機会があったら
コードをうつして実行してみればよい
昔の人は机上デバッグで本当にそんなことやってたらしいよ
書籍かえばノートにでも考えながら書いて
いざパソコンを触る機会があったら
コードをうつして実行してみればよい
昔の人は机上デバッグで本当にそんなことやってたらしいよ
>>761-762
できました。下記が試した記述です。
var x = 0;
var y = 0;
var dx = 1;
var dy = 1;
var iroX;
context0.lineWidth = 5;
function draw() {
context0.beginPath();
context0.moveTo(x, y)
x += dx;
y += dy;
iroX="#9999"+(x+16).toString(16);
// (x+16)で色の補正。これが無いと黒から始まってしまう。
context0.strokeStyle = iroX;
context0.lineTo(x, y);
context0.closePath();
context0.stroke();
}
なお、今回の線描画は最終的には直線でなく関数の曲線で行いたい
ので>>762さんの方法は適用できません。
できました。下記が試した記述です。
var x = 0;
var y = 0;
var dx = 1;
var dy = 1;
var iroX;
context0.lineWidth = 5;
function draw() {
context0.beginPath();
context0.moveTo(x, y)
x += dx;
y += dy;
iroX="#9999"+(x+16).toString(16);
// (x+16)で色の補正。これが無いと黒から始まってしまう。
context0.strokeStyle = iroX;
context0.lineTo(x, y);
context0.closePath();
context0.stroke();
}
なお、今回の線描画は最終的には直線でなく関数の曲線で行いたい
ので>>762さんの方法は適用できません。
canvasで作成された画像のみが表示されているhtmlがあるのですけど、
このhtmlを<img src="hoge.html">みたいな感じにできないでしょうか?
このhtmlを<img src="hoge.html">みたいな感じにできないでしょうか?
>>769
やっぱそうしないとだめですか。
サーバ側のでードから画像を生成するプログラムなんかは、
HTTPヘッダでContent-typeを指定すればブラウザで画像として扱われるのですが、
JavaScriptはクライアントサイドですし、
canvasはそもそもそれら画像生成プログラムとは根本的に仕組みが違う気がするので、
無理なのかなぁとは思ってました。
どうもレスありがとうございました。他の方法でページにうまく組み入れることにします。
それより地震だよ結構長く揺れてるよコワイヨママン
やっぱそうしないとだめですか。
サーバ側のでードから画像を生成するプログラムなんかは、
HTTPヘッダでContent-typeを指定すればブラウザで画像として扱われるのですが、
JavaScriptはクライアントサイドですし、
canvasはそもそもそれら画像生成プログラムとは根本的に仕組みが違う気がするので、
無理なのかなぁとは思ってました。
どうもレスありがとうございました。他の方法でページにうまく組み入れることにします。
それより地震だよ結構長く揺れてるよコワイヨママン
javascriptで
function test(x,y,z){
}
という関数を作って
test()と引数を入れないでもエラーが出ることなく動作します
xは必須でyとzはオプションにしたい場合
function test(x,y,z){
if(!x) {
return;
}
}
といった感じで実装しないといけないのでしょうか?
それとyとzは指定しなかった場合デフォルトでとある値を使いたいので某言語風に
function test(x,y=1,z=2){
var yy=y;
var zz=z;
}
のような書き方をしたのですが動きませんでした
この場合
function test(x,y,z){
var yy=y;
var zz=z;
if(!y){
yy=1;
}
if(!z){
zz=2;
}
}
と書くしかないのでしょうか?よろしくお願いします。
function test(x,y,z){
}
という関数を作って
test()と引数を入れないでもエラーが出ることなく動作します
xは必須でyとzはオプションにしたい場合
function test(x,y,z){
if(!x) {
return;
}
}
といった感じで実装しないといけないのでしょうか?
それとyとzは指定しなかった場合デフォルトでとある値を使いたいので某言語風に
function test(x,y=1,z=2){
var yy=y;
var zz=z;
}
のような書き方をしたのですが動きませんでした
この場合
function test(x,y,z){
var yy=y;
var zz=z;
if(!y){
yy=1;
}
if(!z){
zz=2;
}
}
と書くしかないのでしょうか?よろしくお願いします。
function test(x,y,z){
if(typeof x != 'undefined') {
y = y || 1;
z = z || 2;
処理
}
}
if(typeof x != 'undefined') {
y = y || 1;
z = z || 2;
処理
}
}
>某言語風に
トライ&エラーも大切だけどそのぐらいはリファレンスで済まそうぜ
false扱いの引数を無視していい場合
if (!x) throw "arguments error";
y = y || "default";
厳密にチェックしたいなら
if (arguments.length < 1) throw "arguments error"; // 最低1個
switch (argument.length) {
case 0: throw "arguments error";
case 1: y = "default";
case 2: z = 0;
}
トライ&エラーも大切だけどそのぐらいはリファレンスで済まそうぜ
false扱いの引数を無視していい場合
if (!x) throw "arguments error";
y = y || "default";
厳密にチェックしたいなら
if (arguments.length < 1) throw "arguments error"; // 最低1個
switch (argument.length) {
case 0: throw "arguments error";
case 1: y = "default";
case 2: z = 0;
}
>>776
重箱だけど、 throw "文字列" はIEでエラーになるよ
エラーが起これば良いわけだから動作的にはあんまり問題ないけど
正しくエラーを投げるには throw new Error("文字列");
重箱だけど、 throw "文字列" はIEでエラーになるよ
エラーが起これば良いわけだから動作的にはあんまり問題ないけど
正しくエラーを投げるには throw new Error("文字列");
FirefoxとIE6では問題なかったからそれでいいと思ってた> throw "hogehoge";
If Crockford catches an error, he roundhouse kicks it again.
>>778
それって↓で説明されてる件?
http://d.hatena.ne.jp/uupaa/20100127/1264566103
JavaScriptで明示的に例外投げさせる場面って、設計にもよるけどそう頻繁にあるわけじゃないからな・・・
そもそも「例外?なにそれおいしいの?」って輩が多くて泣ける(実体験)
それって↓で説明されてる件?
http://d.hatena.ne.jp/uupaa/20100127/1264566103
JavaScriptで明示的に例外投げさせる場面って、設計にもよるけどそう頻繁にあるわけじゃないからな・・・
そもそも「例外?なにそれおいしいの?」って輩が多くて泣ける(実体験)
*** JS **************************
var skip;
$("#box").click(function(){
skip = 0;
$("#box a").click(function() {
skip = 1;
});
if (skip == 0) {
alert ("box selected");
}
});
*** HTML **************************
<div id="box" style="width:100px;height:100px;">
<a href="">link</a>
</div>
************************************
jQuery 1.3.2です。
100x100のDIVボックスがあり、ボックス内をクリックすると「box selected」とメッセージを出します。
しかし、Aリンクをクリックした場合は表示しないようにしたいのですが、上手く動作しません。
var skip;
$("#box").click(function(){
skip = 0;
$("#box a").click(function() {
skip = 1;
});
if (skip == 0) {
alert ("box selected");
}
});
*** HTML **************************
<div id="box" style="width:100px;height:100px;">
<a href="">link</a>
</div>
************************************
jQuery 1.3.2です。
100x100のDIVボックスがあり、ボックス内をクリックすると「box selected」とメッセージを出します。
しかし、Aリンクをクリックした場合は表示しないようにしたいのですが、上手く動作しません。
>>783
.clickの指定からしておかしいな。それはboxがくりっくされたときにaのonclickにつけてないか?
aがクリックされたらイベントの伝播を止めればいけるはず。ぐぐれば山ほど情報が出てくるよ。
.clickの指定からしておかしいな。それはboxがくりっくされたときにaのonclickにつけてないか?
aがクリックされたらイベントの伝播を止めればいけるはず。ぐぐれば山ほど情報が出てくるよ。
var skip = 0;
$("#box").click(function(){
if (skip == 0) {
alert ("box selected");
}
skip = 0;
});
$("#box a").mousedown(function(){
skip = 1;
});
こうだな
$("#box").click(function(){
if (skip == 0) {
alert ("box selected");
}
skip = 0;
});
$("#box a").mousedown(function(){
skip = 1;
});
こうだな
>>784が答えてるが補足。
http://semooh.jp/jquery/cont/doc/event/
要素が重なってるので、clickイベントが上の要素下の要素、
つまりaタグからdivタグへと順に伝播(バブリング)してゆく。
aタグのclickイベントの中で return false とするか、
Eventオブジェクトの stopPropagation() 等を呼んでやればいい。
>>782
テキストフォームの値をバリデーション関数に渡して
エラーだったらalertを出して処理中止、そうでなければ続行、
なんていうときにこう書いたり……しない?
try {
バリデーション関数(xxx);
} catch(message) {
alert(message);
return false;
}
http://semooh.jp/jquery/cont/doc/event/
要素が重なってるので、clickイベントが上の要素下の要素、
つまりaタグからdivタグへと順に伝播(バブリング)してゆく。
aタグのclickイベントの中で return false とするか、
Eventオブジェクトの stopPropagation() 等を呼んでやればいい。
>>782
テキストフォームの値をバリデーション関数に渡して
エラーだったらalertを出して処理中止、そうでなければ続行、
なんていうときにこう書いたり……しない?
try {
バリデーション関数(xxx);
} catch(message) {
alert(message);
return false;
}
void型の関数の場合、無名関数を使って、
プロパティのように呼ぶことも可能ですが、
()を省略したいがために、
無名関数を使うのはやめたほうがいいですよね?
プロパティのように呼ぶことも可能ですが、
()を省略したいがために、
無名関数を使うのはやめたほうがいいですよね?
jQueryのanimateについてです。
変数ABCの中の数字をbackgroundPositionに入れる場合
$("#Contents").stop().animate({
backgroundPosition : ABC+"px 0" },
'slow','swing');
とすれば背景の横の位置にはABCの値が入りますが
縦の位置に入れたい場合どうすればよいのでしょうか?
おしえてください。
変数ABCの中の数字をbackgroundPositionに入れる場合
$("#Contents").stop().animate({
backgroundPosition : ABC+"px 0" },
'slow','swing');
とすれば背景の横の位置にはABCの値が入りますが
縦の位置に入れたい場合どうすればよいのでしょうか?
おしえてください。
>763です
無事使えましたが質問があります
document.write("テスト")
はiモードとフルブラウザ両方で動いたのですが
alert("テスト")
がiモードだけ動きません
どうしてなのでしょうか
無事使えましたが質問があります
document.write("テスト")
はiモードとフルブラウザ両方で動いたのですが
alert("テスト")
がiモードだけ動きません
どうしてなのでしょうか
>>786
バリデーション関数は例外前提で作らないだろ…
バリデーション関数は例外前提で作らないだろ…
![←](../../../newbb/images/imagesets/default/left-a.png)
![→](../../../newbb/images/imagesets/default/right-a.png)
![](/nox/modules/newbb/images/imagesets/default/up-a.png)
類似してるかもしれないスレッド
- + 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.77 + (1001) - [97%] - 2010/5/8 19:06
- + JavaScript の質問用スレッド vol.79 + (1001) - [97%] - 2010/9/11 6:50
- + JavaScript の質問用スレッド vol.88 + (1001) - [97%] - 2011/7/20 7:03
- + JavaScript の質問用スレッド vol.98 + (1001) - [97%] - 2012/4/9 14:46
- + JavaScript の質問用スレッド vol.138 + (1004) - [95%] - 2019/4/20 23:45
- + JavaScript の質問用スレッド vol.128 + (1001) - [95%] - 2016/2/26 6:45
- + JavaScript の質問用スレッド vol.108 + (1001) - [95%] - 2013/9/21 15:16
- + JavaScript の質問用スレッド vol.118 + (1002) - [95%] - 2014/8/29 22:30
- + JavaScript の質問用スレッド vol.94 + (1001) - [95%] - 2012/1/8 15:46
- + JavaScript の質問用スレッド vol.93 + (1001) - [95%] - 2012/1/1 4:46
- + JavaScript の質問用スレッド vol.96 + (1001) - [95%] - 2012/1/28 23:01
- + JavaScript の質問用スレッド vol.95 + (1001) - [95%] - 2012/1/17 4:16
- + JavaScript の質問用スレッド vol.97 + (1001) - [95%] - 2012/3/1 3:31
- + JavaScript の質問用スレッド vol.99 + (1001) - [95%] - 2012/5/7 4:32
トップメニューへ / →のくす牧場書庫について