元スレ+ JavaScript の質問用スレッド vol.104 +
JavaScript覧 / PC版 /みんなの評価 :
751 = :
>>750
古いブラウザを使って試しているんじゃないかね
754 = :
http://www.enjoyxstudy.com/javascript/suggest/demo/demo1.html
このサイトのように、input textの下にdisplayに文字を入れて並べて表示するのはどのような処理をしているのでしょうか
こちらがjavascriptのソースになります
http://www.enjoyxstudy.com/javascript/suggest/suggest.js
よろしくおねがいします
755 = :
letはChromeでは使ってはいけないんでしょうか?
for (let i = 0; でエラーになります
756 = :
<img id="myimage" src="images/001.jpg" alt="my image" />
var myimage = document.getElementById("myimage");
if (myimage.addEventListener) {
// IE9, Chrome, Safari, Opera
myimage.addEventListener("mousewheel", MouseWheelHandler, false);
// Firefox
myimage.addEventListener("DOMMouseScroll", MouseWheelHandler, false);}
// IE 6/7/8
else{ myimage.attachEvent("onmousewheel", MouseWheelHandler);}
function MouseWheelHandler(e) {
// cross-browser wheel delta
e = window.event || e; // old IE support
var delta = Math.max(-1, Math.min(1, (e.wheelDelta || -e.detail)));
var t=myimage.width + (30 * delta);
var x=Math.max(50, Math.min(1200, t));
myimage.style.width = x+ "px";
var y=myimage.height;
//we return false to cancel the standard event which would normally scroll the page.
return false;}
英語のサイトに載ってたマウスホイールでの画像の拡大と縮小
なのですが、画像拡大時にデフォルトのマウスホイールでの動作
(ブラウザスクロール)は無効になるのですが、
画像縮小ではブラウザスクロールもしながら画像縮小してしまします
return false;でデフォルトのブラウザの動作を無効にしているのでは
ないのですか?何故ですか?
757 = :
>>756
デフォルト動作を無効にするのはevent.preventDefault() (ただしIEのattachEventだとエラー)
return false でデフォルト動作が無効になるのはイベントプロパティ・イベント属性・IEのattachEventのみ
IEは event.returnValue = false でもよい
あとイベントハンドラに渡される引数を優先して e = e || window.event にした方がいい
759 = :
>>757
ありがとうございました
760 = :
for (i = 0; ...) {
if (i == 4 || i == 8 || ....) {
}
}
4回ごとに if で判定したいのですが簡潔に書くことってできますか?
766 = :
greasemonkeyスクリプトで、2ch型の掲示板に機能を追加するスクリプトを書きたく、その一環としてIDをポイントすると同じIDの
書き込みをツールチップで表示するようにしたいのですが、以下を満たすようなツールチップが作れません。
・マウスポインタが"ID"という文字の上、あるいはツールチップ上にあるときはツールチップを表示したままにし、それ以外にあるときは消す。
・ツールチップ内にHTMLを使いたい。
"ID"という文字とツールチップをまとめて扱いたいのでまとめて同じタグに入れてそれにイベントハンドラを設定すればいいのかなと思ったのですが、
それをインライン要素にするとツールチップにブロック要素を入れられず、ブロック要素にすると"ID"が一行になってしまいます。
どうやれば良いのか教えてください。(windows 7 professional/ firefox 17.0.1/ jQuery1.8.3)
767 = :
display: inline-block とか?
768 = :
>>767
それでうまくいくっぽいです。ありがとうございました。
769 = :
JavaScriptって、関数呼び出しをする時は全部apply使う方がよくないですか?
772 = :
sage忘れました。ごめんなさい
773 = :
>>771
クラスディレクティブ的な書き方がなく、関数スコープだけでやるから
結果的にthisがグローバルの参照になることがあるので
混乱することがあるかもしれない
けどそれは慣れの問題だと思うんだけどなあ
例えば自分が昔書いた、関数の中に関数を書いてプライベートクラス!と言い張る糞コードがあるんだが
そんなうんこを今読み直しても、thisで混乱することはないのですよ
うん、やっぱ慣れですな
774 = :
>>773
う~ん、慣れですか。(分からない用語があって何となくですが)分かりました
変数を関数の外側に探しに行くんでしたっけ。
例えば他のOOPな言語の後にJavaScriptを始める人には
apply,...を使ったやり方から始めた方が良いのかも?と思います。
ちなみにその糞コードみたいなの、この前書きました…w
775 = :
自分のコードなら慣れで良いけど
他人のコード読むときにいちいち慣れるのはたいへんじゃね?
776 = :
>>775
そうですね。まあJavaScriptに限らない話になりそうですけど
今後他人に教える/他人と共同作業する立場になるので、その上で>>769を書いたしだいです。
なかなか難しいなあ~
777 = :
なぜそう思うのかも書かずにいきなり>>769みたいなこと言い出す奴と
共同作業することになる皆様・・・ご愁傷様
781 = :
さすがにそれは例外が多すぎるだろ
782 = :
thisが駄目って、今時の言語は相当数が該当しない?
783 = :
thisは単に動的スコープをもってるに過ぎないだろ
構文スコープと動的スコープの区別がつかない奴が混乱してるだけ
784 = :
>>783
そのあたりちゃんとカバーしてる初心者向け資料ってある?
785 = :
thisはそもそも変数じゃないからスコープを持ってるとも言わないんじゃね?
786 = :
動的に参照できる値が変化するけど
いわゆる動的スコープとは全然違うものだね
通常関数呼び出しするとグローバルオブジェクトが設定されたりするし
787 = :
applyとcallとメソッド方式の関数呼び出しで指定されたものに変更
普通の関数呼び出しでグローバルオブジェクトに変更
evalは変わらない
thisってこれだけだと思ってたけどこれじゃダメなの?
790 = :
「thisは呼ばれた関数を持っている親オブジェクトを参照する」
じゃいかんの?
791 = :
>>790
thisは、関数が何処で定義されているかには関係無く、関数をどう呼んだかで変わるだろ?
794 = :
>>790
その考え方だと、あるオブジェクトに所属する?関数の中で定義されてる関数の親オブジェクトは何?
795 = :
ん?混乱してる人がいるようだな
this値とはどのオブジェクトのプロパティとして呼び出されるかだよ基本的には、かんたーん
例外は>>780のとおり
コードにはグローバルコード、関数コード、evalコードがあって、
それぞれのコードが呼び出されるときにthis値が設定される
800 = :
>>795
ただ普通に関数を呼んだときは、どのオブジェクトのプロパティとして呼ばれたことになるの?
類似してるかもしれないスレッド
- + 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
トップメニューへ / →のくす牧場書庫について