私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.104 +
JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
JavaScriptでゲームを作ろうとしてるんですが、
canvasで円を描いて、円の中をクリックしたら円を移動させて、
っていう、AIM練習ゲームみたいなのを作りたいんですが、
円をクリックしたら、処理をさせるみたいな、
四角の場合、
window.document.onclick = function(e){
var obj = new Object();
obj.x = e.pageX;
obj.y = e.pageY;
if(obj.x >= 100 && obj.x <= 200 && obj.y >= 100 && obj.y <= 200){処理}
}
円の場合どうすればいいでしょうか?教えてください。
canvasで円を描いて、円の中をクリックしたら円を移動させて、
っていう、AIM練習ゲームみたいなのを作りたいんですが、
円をクリックしたら、処理をさせるみたいな、
四角の場合、
window.document.onclick = function(e){
var obj = new Object();
obj.x = e.pageX;
obj.y = e.pageY;
if(obj.x >= 100 && obj.x <= 200 && obj.y >= 100 && obj.y <= 200){処理}
}
円の場合どうすればいいでしょうか?教えてください。
なんでObject使っているのかは分からんけど、円の中心(x0,y0)半径rのとき
点(x,y)が円内にある条件は「(x-x0)**2 + (y-y0)**2 < r**2」だから。
ただし「**2」は2乗を表す(JavaScriptにはない)。
点(x,y)が円内にある条件は「(x-x0)**2 + (y-y0)**2 < r**2」だから。
ただし「**2」は2乗を表す(JavaScriptにはない)。
教えていただいた条件を、ifの中で使って、円をクリックしたら、
ちょうどぴったり円の中でクリックしたときだけ、
ifの中の処理を実行することができました、
ありがとうございました。
ちょうどぴったり円の中でクリックしたときだけ、
ifの中の処理を実行することができました、
ありがとうございました。
Javascriptの変数定義の順番について教えてください
thisについて色々試していて、下のコードを書いたんですが
変数定義がAの位置かBの位置かで実行結果が変わります
なんでですか?
<script type="text/javascript">
'use strict';
var testWindowFunc1 = function(){ console.log(this); }
window.testWindowFunc1(); // => Window {top: Window, ...}
var testWindowFunc2 = function(){ console.log(this.testWindowVal); }
// window.testWindowVal = "Hoge"; // A
window.testWindowFunc2(); // => Aの行をコメントアウトなら "Hoge", Bの行をコメントアウトなら undefined
// window.testWindowVal = "Hoge"; // B
</script>
thisについて色々試していて、下のコードを書いたんですが
変数定義がAの位置かBの位置かで実行結果が変わります
なんでですか?
<script type="text/javascript">
'use strict';
var testWindowFunc1 = function(){ console.log(this); }
window.testWindowFunc1(); // => Window {top: Window, ...}
var testWindowFunc2 = function(){ console.log(this.testWindowVal); }
// window.testWindowVal = "Hoge"; // A
window.testWindowFunc2(); // => Aの行をコメントアウトなら "Hoge", Bの行をコメントアウトなら undefined
// window.testWindowVal = "Hoge"; // B
</script>
> Aの行をコメントアウトなら "Hoge", Bの行をコメントアウトなら undefined
そもそもこうはならないんだが(結果が逆)
そもそもこうはならないんだが(結果が逆)
すんません逆になってました、というか言葉間違ってた
Aの行のコメント外したらHoge、Bの行のコメント外したらundefinedです
Chromeでやってます
Aの行のコメント外したらHoge、Bの行のコメント外したらundefinedです
Chromeでやってます
あれ、当たり前のこと聞いている気がしてきた
すみません704は取り消しでお願いします。
なんでこんな質問したんだろう…
すみません704は取り消しでお願いします。
なんでこんな質問したんだろう…
JqueryのjScrollbarというプラグインを使っています。
導入すると、オプションでマウスホイールでのスクロールも可能です。
ただこのときに、スクロールバーの範囲内だけでなく、ページ全体も
同時にスクロールされてしまいます。
このプラグインに限った問題ではないのかもしれません。
このページ全体のほうのスクロールを止めるにはどうすればよいでしょうか。
こちらはプラグインのサイトになります
http://demos.myjqueryplugins.com/jscrollbar/
よろしくお願いします。
導入すると、オプションでマウスホイールでのスクロールも可能です。
ただこのときに、スクロールバーの範囲内だけでなく、ページ全体も
同時にスクロールされてしまいます。
このプラグインに限った問題ではないのかもしれません。
このページ全体のほうのスクロールを止めるにはどうすればよいでしょうか。
こちらはプラグインのサイトになります
http://demos.myjqueryplugins.com/jscrollbar/
よろしくお願いします。
ホイールの動きを拾っているところで、イベントバブリングを
止めてしまえば良いよ
止めてしまえば良いよ
<script type="text/javascript">
var i=0; ←こっちで定義した変数 i を
</script>
・
・
・
<script type="text/javascript">
alert(i); ←こっちで使うことって出来ますか?
</script>
var i=0; ←こっちで定義した変数 i を
</script>
・
・
・
<script type="text/javascript">
alert(i); ←こっちで使うことって出来ますか?
</script>
firefoxの最新バージョンでIndexedDatabaseのトランザクション処理に
document.writeを使ったデバッグコードを入れると動作がおかしくなるのは仕様ですか?
document.writeを使ったデバッグコードを入れると動作がおかしくなるのは仕様ですか?
var YouTube = new Object();
YouTube.rev = 2;
YouTube.SearchDesc = "Youtube by Darby_Crash"; //MOD BY Darby_Crash, original by Xiphirx
YouTube.Name = "YouTube";
YouTube.Search = function (keyword, page){
var result = new Object();
result.bypage = 20;
result.start = (page-1)*result.bypage+1;
var sortBy = "relevance";
var catSpecified = false;
if (keyword.charAt(0) == '$')
{
var keywordBu = keyword;
var kpos = keyword.indexOf(" ");
var category = keyword.substring(1, kpos);
keyword = keyword.substring(kpos+1);
catSpecified = true;
}
if (keyword.charAt(0) == '@')
{
sortBy = "published";
}
if (catSpecified == false)
{
c=GetContents('http://gdata.youtube.com/feeds/api/videos?q='+escape(keyword)+'&start-index='+result.start+'&max-results='+result.bypage+'&orderby='+sortBy+'&racy=in
YouTube.rev = 2;
YouTube.SearchDesc = "Youtube by Darby_Crash"; //MOD BY Darby_Crash, original by Xiphirx
YouTube.Name = "YouTube";
YouTube.Search = function (keyword, page){
var result = new Object();
result.bypage = 20;
result.start = (page-1)*result.bypage+1;
var sortBy = "relevance";
var catSpecified = false;
if (keyword.charAt(0) == '$')
{
var keywordBu = keyword;
var kpos = keyword.indexOf(" ");
var category = keyword.substring(1, kpos);
keyword = keyword.substring(kpos+1);
catSpecified = true;
}
if (keyword.charAt(0) == '@')
{
sortBy = "published";
}
if (catSpecified == false)
{
c=GetContents('http://gdata.youtube.com/feeds/api/videos?q='+escape(keyword)+'&start-index='+result.start+'&max-results='+result.bypage+'&orderby='+sortBy+'&racy=in
}
else
{
c=GetContents('http://gdata.youtube.com/feeds/api/videos?q='+escape(keyword)+'&start-index='+result.start+'&max-results='+result.bypage+'&orderby='+sortBy+'&racy=include&category='+category+'&v=1');
}
result.total = ext("<openSearch:totalResults>");
result.VideoInfo = new Array();
v = {attr:2};
v.id = 0;
v.Title = "YouTube Search Help";
v.Description = "@query = search by upload date\n$category query = search in a category";
v.URL = '';
result.VideoInfo.push(v);
while(p=c.indexOf("<entry",p)+1){
v = {attr:2};//neither IDA|npp find this string ...0=RD 1= 2=SRD 3=S
v.id = ext("<id>http://gdata.youtube.com/feeds/api/videos/","</id>");
v.Title = ext("<title type='text'>");
v.Description = ext("content type='text'>")+'\nUploader:'+ext("<name>");
v.CommentCount = ext("countHint='")*1;
v.Tags = ext("keywords>").replace(/,/g,"");
v.LengthSeconds = ext("ds='")*1;
v.RatingAvg = ext("average='")*1;
v.RatingCount = ext("numRaters='")*1;
v.MylistCount = ext("favoriteCount='")*1;
v.ViewCount = ext("viewCount='")*1;
v.ThumbnailURL = '';
v.SaveFilename = v.id+".flv";
v.URL = 'YouTube.play("'+v.id+'")';
result.VideoInfo.push(v);
}
else
{
c=GetContents('http://gdata.youtube.com/feeds/api/videos?q='+escape(keyword)+'&start-index='+result.start+'&max-results='+result.bypage+'&orderby='+sortBy+'&racy=include&category='+category+'&v=1');
}
result.total = ext("<openSearch:totalResults>");
result.VideoInfo = new Array();
v = {attr:2};
v.id = 0;
v.Title = "YouTube Search Help";
v.Description = "@query = search by upload date\n$category query = search in a category";
v.URL = '';
result.VideoInfo.push(v);
while(p=c.indexOf("<entry",p)+1){
v = {attr:2};//neither IDA|npp find this string ...0=RD 1= 2=SRD 3=S
v.id = ext("<id>http://gdata.youtube.com/feeds/api/videos/","</id>");
v.Title = ext("<title type='text'>");
v.Description = ext("content type='text'>")+'\nUploader:'+ext("<name>");
v.CommentCount = ext("countHint='")*1;
v.Tags = ext("keywords>").replace(/,/g,"");
v.LengthSeconds = ext("ds='")*1;
v.RatingAvg = ext("average='")*1;
v.RatingCount = ext("numRaters='")*1;
v.MylistCount = ext("favoriteCount='")*1;
v.ViewCount = ext("viewCount='")*1;
v.ThumbnailURL = '';
v.SaveFilename = v.id+".flv";
v.URL = 'YouTube.play("'+v.id+'")';
result.VideoInfo.push(v);
}
YouTube.play = function (id){
c=GetContents("http://www.youtube.com/watch?v="+id);p=0;
var url = unescape(ext('url_encoded_fmt_stream_map','allowscriptaccess'));p=0;
p = url.indexOf(",itag=5&url=", 0); preurl = url.ext('fallback_host=','.c.');
p = url.indexOf(",itag=5&url=", 0); url1 = unescape(url.ext('.c.youtube.com','&type=video')); url2 = url.ext('&sig=','&quality=');
var url = 'http://'+preurl+'.c.youtube.com'+url1+'&signature='+url2; //quality=small
return url;
}
SiteList.push(YouTube);
これでgotubeでyoutubeが見られたんですが 仕様変更で見られなってしまいました
どの変を変えればいいのかさっぱりなんです・・・
c=GetContents("http://www.youtube.com/watch?v="+id);p=0;
var url = unescape(ext('url_encoded_fmt_stream_map','allowscriptaccess'));p=0;
p = url.indexOf(",itag=5&url=", 0); preurl = url.ext('fallback_host=','.c.');
p = url.indexOf(",itag=5&url=", 0); url1 = unescape(url.ext('.c.youtube.com','&type=video')); url2 = url.ext('&sig=','&quality=');
var url = 'http://'+preurl+'.c.youtube.com'+url1+'&signature='+url2; //quality=small
return url;
}
SiteList.push(YouTube);
これでgotubeでyoutubeが見られたんですが 仕様変更で見られなってしまいました
どの変を変えればいいのかさっぱりなんです・・・
>>716
c=GetContents('http://gdata.youtube.com/feeds/api/videos?q='+escape(keyword)+'&start-index='+result.start+'&max-results='+result.bypage+'&orderby='+sortBy+'&racy=include&category='+category+'&v=1');
このファイルなんですか?
c=GetContents('http://gdata.youtube.com/feeds/api/videos?q='+escape(keyword)+'&start-index='+result.start+'&max-results='+result.bypage+'&orderby='+sortBy+'&racy=include&category='+category+'&v=1');
このファイルなんですか?
javascriptを覚える行程ってどんな感じですか?
プログラミング初心者なんですが
いいサイトありますか?
プログラミング初心者なんですが
いいサイトありますか?
ぼっち....
この人Zextにはいったんですね 1.3でがちクランは入れるんだ!1.5の俺は神だな
この人Zextにはいったんですね 1.3でがちクランは入れるんだ!1.5の俺は神だな
javascriptで、ループのフレームレートをtextに表示したいんですが、
window.onload = function(){
var countFps;
function getFps(){
function gameLoop(){
countFps++;
document.getElementById("text").value = fps;
setTimeout(function(){gameLoop()},100);
}
fps=countFps;
countFps=0;
gameLoop();
setTimeout(function(){getFps},1000);
}
getFps();
}
これでは、フレームレートが表示されるどころか、undifinedになってしまいます、
ブラウザはIE10です、
どうやったらフレームレートが表示させられますか?教えてください。
window.onload = function(){
var countFps;
function getFps(){
function gameLoop(){
countFps++;
document.getElementById("text").value = fps;
setTimeout(function(){gameLoop()},100);
}
fps=countFps;
countFps=0;
gameLoop();
setTimeout(function(){getFps},1000);
}
getFps();
}
これでは、フレームレートが表示されるどころか、undifinedになってしまいます、
ブラウザはIE10です、
どうやったらフレームレートが表示させられますか?教えてください。
変数の初期化がされてない
fpsが定義されてない
setTimeout~getFpsが括弧忘れてる
fpsが定義されてない
setTimeout~getFpsが括弧忘れてる
ありがとうございます、
window.onload = function(){
var countFps = 0;
var fps = 0;
function getFps(){
function gameLoop(){
countFps++;
document.getElementById("text").value = fps;
setTimeout(function(){gameLoop()},100);
}
fps=countFps;
countFps=0;
gameLoop();
setTimeout(function(){getFps()},1000);
}
getFps();
}
教えてくれたことを参考に、
ここまでできました、ですが、countFpsとfpsが、どんどん増えて行ってしまいます。
どうすれば、textにフレームレートが表示させられますか?教えてください、お願いします。
window.onload = function(){
var countFps = 0;
var fps = 0;
function getFps(){
function gameLoop(){
countFps++;
document.getElementById("text").value = fps;
setTimeout(function(){gameLoop()},100);
}
fps=countFps;
countFps=0;
gameLoop();
setTimeout(function(){getFps()},1000);
}
getFps();
}
教えてくれたことを参考に、
ここまでできました、ですが、countFpsとfpsが、どんどん増えて行ってしまいます。
どうすれば、textにフレームレートが表示させられますか?教えてください、お願いします。
教えていただいたことを参考に、
gameLoopをgetFpsの外に移動させて、
function()から一回だけ呼び出したら、なんと、
textにフレームレートが表示されました!
お二方、教えてくれて、ありがとうございました。
gameLoopをgetFpsの外に移動させて、
function()から一回だけ呼び出したら、なんと、
textにフレームレートが表示されました!
お二方、教えてくれて、ありがとうございました。
>>717
JS以外の質問はスレ違いだから、せめてググってからにしてもらえますでしょうか
http://developers.google.com/youtube/2.0/reference?hl=ja
JS以外の質問はスレ違いだから、せめてググってからにしてもらえますでしょうか
http://developers.google.com/youtube/2.0/reference?hl=ja
GreaseMonkey用のscriptを作りたいんんですが、
「href=.*\/status\/(\d+).*\</a\>」
の○桁の数字(\d+)部分を↓に入れて、
「http://api.twitter.com/1/statuses/show/(\d+).json」
そこの、"retweet_count"要素の数値を取得して
表示を
「href=.*\/status\/(\d+).*\</a\>」+「取得した"retweet_count"の数値」
にするにはどう記述したら良いか教えて頂けませんか?
はちゃめちゃな質問ですが、
よろしくお願いします。
「href=.*\/status\/(\d+).*\</a\>」
の○桁の数字(\d+)部分を↓に入れて、
「http://api.twitter.com/1/statuses/show/(\d+).json」
そこの、"retweet_count"要素の数値を取得して
表示を
「href=.*\/status\/(\d+).*\</a\>」+「取得した"retweet_count"の数値」
にするにはどう記述したら良いか教えて頂けませんか?
はちゃめちゃな質問ですが、
よろしくお願いします。
>>729
どこでつまずいてるのか詳しく
どこでつまずいてるのか詳しく
>>732
いや、もう戻ってこなくていい。
いや、もう戻ってこなくていい。
JavaScriptで、わからないことがあるので、質問します。
var x = 1.2
とか、整数か、小数点数が入ってる変数があります、
変数の中身が、整数のときだけとか、小数点数のときだけに、処理をさせるには、
どうすればいいですか?教えてください、お願いします。
var x = 1.2
とか、整数か、小数点数が入ってる変数があります、
変数の中身が、整数のときだけとか、小数点数のときだけに、処理をさせるには、
どうすればいいですか?教えてください、お願いします。
>>739
Content-Typeを上書きする拡張を使う
Content-Typeを上書きする拡張を使う
>>742
138は参考になった投票の数
138は参考になった投票の数
ボタンを押したらテキストエリア内にあるタグを入れようと思ってるんですが、
その関数で、
function puttag(){
var tag = "タグ";
var target = document.getElementsByTagName('textarea')[0];
target.innerHTML += tag
}
っていう関数を書いてるんですが、
テキストエリアが空白の状態であれば、指定したタグがテキストエリア内に目に見えて表示されるのですが、
最初に文字が入っている状態でこの関数を実行すると、「テキストエリア内にタグが入っている」のに目に見えて表示されません。
なぜタグが入っていると判断したかについては、タグをinnerHTMLに代入した直後にalertで表示してみると、ちゃんとタグが表示されたからです。
でもブラウザ上には表示されません。
ブラウザ上でも表示させるにはどうすればいいでしょうか?
その関数で、
function puttag(){
var tag = "タグ";
var target = document.getElementsByTagName('textarea')[0];
target.innerHTML += tag
}
っていう関数を書いてるんですが、
テキストエリアが空白の状態であれば、指定したタグがテキストエリア内に目に見えて表示されるのですが、
最初に文字が入っている状態でこの関数を実行すると、「テキストエリア内にタグが入っている」のに目に見えて表示されません。
なぜタグが入っていると判断したかについては、タグをinnerHTMLに代入した直後にalertで表示してみると、ちゃんとタグが表示されたからです。
でもブラウザ上には表示されません。
ブラウザ上でも表示させるにはどうすればいいでしょうか?
間違ってライブラリのとこで質問してしまった
ラッパーオブジェクトは不要で混乱を招くから
new Boolean、new Number、new String、new Object、new Array
は使用をさけるべきってgood partsに載ってるのですが、
ラッパーオブジェクトってよくわからないのですが、
やっぱ使わない方がいいのでしょうか?
ラッパーオブジェクトは不要で混乱を招くから
new Boolean、new Number、new String、new Object、new Array
は使用をさけるべきってgood partsに載ってるのですが、
ラッパーオブジェクトってよくわからないのですが、
やっぱ使わない方がいいのでしょうか?
>>748
Object, Arrayは関係ない。どちらもオブジェクトだから
(とはいえどちらも {}, [] の記法のみ使えばok)
論理値、数値、文字列は基本的にプリミティブ値として使えばよい
プリミティブ値に対して直接メソッド呼び出し・プロパティ参照を行うと、
その都度内部的にラッパーオブジェクトが作られることになってる
var str = 'hoge';
console.log(str.toUpperCase()); // 内部的にnew String(str).toUpperCase()
// 結果的にString.prototype.toUpperCaseが呼ばれ、大文字の"HOGE"を得られる
プリミティブ値をオブジェクトとして作ると独自のプロパティを持たせることができるくらい
var strObj = new String('hoge');
strObj.jp = 'ほげ';
console.log(strObj.jp);
生成コストが高いし、扱いにくいので使われない
'hoge' === 'hoge' // => true
new String('hoge') === new String('hoge') // => false
typeof 'hoge' // => "string"
typeof new String('hoge') // => "object"
Object, Arrayは関係ない。どちらもオブジェクトだから
(とはいえどちらも {}, [] の記法のみ使えばok)
論理値、数値、文字列は基本的にプリミティブ値として使えばよい
プリミティブ値に対して直接メソッド呼び出し・プロパティ参照を行うと、
その都度内部的にラッパーオブジェクトが作られることになってる
var str = 'hoge';
console.log(str.toUpperCase()); // 内部的にnew String(str).toUpperCase()
// 結果的にString.prototype.toUpperCaseが呼ばれ、大文字の"HOGE"を得られる
プリミティブ値をオブジェクトとして作ると独自のプロパティを持たせることができるくらい
var strObj = new String('hoge');
strObj.jp = 'ほげ';
console.log(strObj.jp);
生成コストが高いし、扱いにくいので使われない
'hoge' === 'hoge' // => true
new String('hoge') === new String('hoge') // => false
typeof 'hoge' // => "string"
typeof new String('hoge') // => "object"
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.109 + (1001) - [97%] - 2013/10/7 13:16
- + JavaScript の質問用スレッド vol.144 + (288) - [97%] - 2020/5/17 20:00
- + JavaScript の質問用スレッド vol.100 + (1001) - [97%] - 2012/6/13 22:46
- + JavaScript の質問用スレッド vol.101 + (1001) - [97%] - 2012/7/16 14:15
- + JavaScript の質問用スレッド vol.102 + (1001) - [97%] - 2012/9/11 17:30
- + JavaScript の質問用スレッド vol.103 + (1001) - [97%] - 2012/11/9 15:30
- + JavaScript の質問用スレッド vol.105 + (1001) - [97%] - 2013/5/20 4:45
- + JavaScript の質問用スレッド vol.106 + (1001) - [97%] - 2013/7/20 9:30
- + JavaScript の質問用スレッド vol.107 + (1001) - [97%] - 2013/9/7 10:16
- + JavaScript の質問用スレッド vol.108 + (1001) - [97%] - 2013/9/21 15:16
- + JavaScript の質問用スレッド vol.134 + (1001) - [97%] - 2018/8/3 23:15
- + JavaScript の質問用スレッド vol.124 + (1001) - [97%] - 2015/7/16 1:30
- + JavaScript の質問用スレッド vol.114 + (1001) - [97%] - 2014/5/3 10:45
- + JavaScript の質問用スレッド vol.122 + (116) - [95%] - 2018/5/2 18:30
- + JavaScript の質問用スレッド vol.121 + (1001) - [95%] - 2015/1/1 18:30
- + JavaScript の質問用スレッド vol.122 + (1004) - [95%] - 2015/2/14 4:45
- + JavaScript の質問用スレッド vol.141 + (881) - [95%] - 2021/4/19 9:00
トップメニューへ / →のくす牧場書庫について