元スレjQuery ライブラリ 総合質問所 vol.4
JavaScript覧 / PC版 /みんなの評価 :
801 = :
.load();をutf-8以外の文字コードで使う方法はないですか?
条件
・shift-jisもしくはeuc-jp
・IE9以下で文字化しない
なんで無いんですか
802 = :
>>801
MimeTypeを指定するだけだよ
803 = :
何行でできるとか言ってる奴まだいるのか
短く書けるアピールしたいならcodegolf復旧後にそっち行きなよ
短ければいいってもんじゃないんだからさ
804 = :
>>803
コードゴルフ?何言ってるの?
普通に書いてそれぐらいだなって話してるだけだけど。
805 = :
短く書きたがるのはjQuery信者にありがちな発想だな
長くとも例外処理をつける必要があることを彼らは認めようとしない
806 = :
>>805
無駄なコードを書かないのは当たり前。
その結果コードは短くなる。これも当たり前。
コードゴルフは可読性を犠牲にして"文字数を"減らすもの
ごっちゃにするなよ
例外処理ってなんのこっちゃw苦し紛れもいいとこだな。
必要な無い例外処理を書いてそうで怖い(笑)
807 = :
記述の仕方でも行数なんて変わってくるし
>>805の言うように何か処理を加えただけでも数行増えたりするんだし
そもそも、何行以内とかいう話は作り方でもなんでもないからねえ
808 = :
さらに意味不明だなw
処理追加したら増えるの当たり前だし、
今話してるのは処理追加しない場合の話だし、
何行以内っていうのは、結果そうなるってことで
予測される事実を言ってるにすぎないんだが。
809 = :
行数宣言はただの自慢だろ
>>772でちょっともてはやされたからまた賞賛を受けたくてアピールしてるだけ
結果論ならわざわざ宣言する必要はないからな
810 = :
あぁ、賞賛を得たことが羨ましかったのかw
811 = :
>>809
俺はプログラミングに関しては超一流(自称)だが、その俺から見ても772は中々出来る奴だと思う。
812 = :
超一流が言うのなら仕方がない。
813 = :
>>811
行数自慢は頂けないという話
彼が出来るかどうかは別問題
814 = :
>>813
自慢じゃないよ。それぐらいでできるって話。
815 = :
どんだけめでたいんだコイツ
たぶん仕事でやった経験もないかあっても1-2年てとこだろうな
816 = :
>>814
クイズじゃないんだから何行で書けるなんてくだらん情報は要らん
そんなことを書く暇があるならコードで示せ
817 = :
>>802
条件読めw
818 = :
>>815
そんなわけなかろうw
>>816
たまには他に人がコード書けよ。いつも俺ばっかりだ。
コードなんてぱっと思いつく。書くのが面倒なだけ。
819 = :
こういう奴のために脳波でPC操作できるデバイス普及して欲しいな
820 = :
最近珍しくそこそこできる人が集まっている気がする。仲良くすりゃいいのに・・。
ところで質問なんだが、
テキストの文字列をキーに選択し、処理をしたい場合で、
かつ文字列内にメタ文字を含めたい場合ってどう書けばいいの?
<div id="hoge">
私は赤い
<p>私は青い</p>
<p>私は赤いし青い</p>
私は黄色い
<p>私は白黒</p>
あなたは白黒
</div>
「私は(.*)い」のみ<span>タグで括りたい。
821 = :
>>818
書くのが面倒なら何も書くな
行数だけ書かれても誰の為にもならん
822 = :
まあ、いっちょかみってやつだな
823 = :
>>820
その内容を都合よく解釈すれば↓みたいな正規表現でも済むけど
要件詰めないと的確な回答は得られなさそうだね
$('#hoge').html($('#hoge').html().replace(/私は(.+?)い/g, '私は<span style="font-weight:bold">$1</span>い'));
824 = :
.contents() 使って再帰的にってのが質問者の意図に近いのではなかろうか
825 = :
>>823
ありがとう。
ただ、自分も同じような方法になってしまっていたんだが、
正解という事に変わりはないです。
意図としては、置換処理無しで
文字列としてセレクタのように指定する方法は無いかなって事でした。
イメージ
$(/私は(.+?)い/g).wrap('<span />'); みたいな
826 = :
自分で拡張するのが一番だろうね
832 = :
>>831
何したいのか全くわからないな。
jQueryっぽく無いコードだってのはわかるが。
知らんけどMODEなんてのがあるのがいけないんじゃないか?
そんなものがあると、コードが複雑になるだろう。
833 = :
スクロールの挙動は、君がスクロールイベントの発生タイミングを勘違いしているからだろう。
scrollイベントっていうのは、ユーザーがマウスホイールを動かした時に発生するが
スクロールが終わった後に発生するのは確実だが、スクロール中は発生したり発生しなかったりする。
例えば0から100の位置に移動するとき、2の位置で発生したりする。
現在の位置でscrollup、scrolldownするか変えてるからそのせいじゃないのか?
一般的にscrollイベントの中でスクロールはやめたほうがいい。
834 = :
それから、コードをもう少し簡潔にした方がいい。
まず、appearUE、appearSHITA は無くして呼び出し元に移動する。
そして、toggle多すぎ。
こういうのは、htmlかbodyのclassにクラスを設定してCSSで制御する。
つまり、
<body class="foo">
<button id="ue">
<button id="shita">
</body>
#ue { display: none }
#shita { display: inline }
.foo #ue { display: inline }
.foo #shita { display: shita }
となっていれば、bodyのfooをつけたり外したりするだけで良くなるだろう?
MODEも同期しているようだから、まとめてしまえるだろう。
837 = :
「フルスクリーンを中途半端にみせたくない」の意味がわからん。
日本語にすると
「全画面を中途半端にみせたくない」なんだが、
どういう意味だ?
838 = :
フルスクリーンの用語の使い方を間違ってる気がするが。
> フルスクリーン表示中はMODE=0でフルスクリーンの下を表示中は
> MODE=1にしていたのですが、
日本語にすると
全画面表示中はMODE=0で、全画面の下を表示中はMODE=1に
となるが、
全画面の下を表示中とはどういう意味か?
839 = 827 :
フルスクリーン→ページの一番上で全画面表示してる画像等
です
言い回しがおかしかったです
841 = :
一般的にフルスクリーンとフルスクリーンでない時で
動作を変えるのはお薦めしないとして
フルスクリーンとはどういう状態のことか?
ここによると、
http://stackoverflow.com/questions/16755129/detect-fullscreen-mode
ブラウザのフルスクリーンモードを検出するには、$(document).is(":fullscreen") で
検出できるが、IEはサポートされてないと書いてある。
もしくは以下のコードで、フルスクリーンモードを(それなりに)検出できると書かれている。
if( window.innerHeight == screen.height) {
// browser is fullscreen
}
You can also check for some slightly more loose comparisons:
if( (screen.availHeight || screen.height-30) <= window.innerHeight) {
// browser is almost certainly fullscreen
}
この方向の話でいいのか?
842 = :
>>839
なんとなく分かりそうだが、「フルスクリーン(全画面)」という
用語を使わずに、やりたいことを最初から説明してくれ。
コードはそのままでいい。
844 = :
おそらく今回の場合、ウインドウ全体に表示している画像が
たまたまそこにあるだけで、別に無くても構わない話ではないか?
説明はよw
845 = :
>>834の
> こういうのは、htmlかbodyのclassにクラスを設定してCSSで制御する。
この案は廃止する。
なんとなくわかってきたことを組み入れると、これはよくない。
846 = :
細かい問題点を補足しておくと、
最初にw_heightを取得しているが、これだとウインドウがリサイズした時に対応できない。
同様に var A = $(window).scrollTop(); もよくない。
document.documentElement.clientHeight ではなく、jQueryのメソッドが使えるはず(たぶん)
大文字で始まる変数名は通常定数(変わらないもの)として使用する。MODEやAという名前は良くない。
847 = :
ごめん。>>845で廃止するってかいちゃったけど
廃止しなくてもいいやw
今回の内容の範囲内でなら必要ないけど、
あるともっといろんなことがしやすくなる。
848 = :
レスねぇなぁ。仕様がわからんので勝手に解釈する。
このコードの問題は、手続き的になっているということ。
わかりやすく言えば、何かのタイミング(scrollイベント発生やボタンクリック)で
あの処理をして~この処理をして~その処理をする。という発想になってる。
具体的には、scrollイベントが発生した時にスクロール、ボタンの状態を変更して、MODE変数を書き換えている。
ではなくて、○のときは△である。という定義の形にする。
そして本来は独立しているものを、いっぺんをやり過ぎている。
やるべきことを小さく分割する
1. 「上へ移動」ボタンをクリックすると、上に移動する。
2. 「下へ移動」ボタンをクリックすると、下に移動する。
3. 「上へ移動」ボタンは、上あたりにあるとき非表示にする。
4. 「下へ移動」ボタンは、下あたりにあるとき非表示にする。
5. ウインドウがスクロールした時にボタンの表示状態を変更する。
※ 3. 4. はコードから読み取れる仕様とは違うけど勝手に変えた
Aもw_heighも変わらないのに、scrollイベントでそれをやる意味がないので。
849 = :
そして勝手に解釈した仕様でコードを書くw
もちろんテストはしていない。
金もらえるわけでもないので、自分の趣味でやってるだけで
望んだものを作ってあげる義理はないんでw
$(function(){
function scrollTo(top) {
var prop = {scrollTop: top};
$("html,body").filter(":not(:animated)").animate(prop, 1000);
}
function refresh() {
var top = $(window).scrollTop();
$('#bottomup').toggle(top > 10);
$('#bottomdown').toggle(top < $(window).height() - 10);
}
$('#bottomup').on('click', function() {
scrollTo($(window).height());
});
$('#bottomdown').on('click', function() {
scrollTo(0);
});
$(window).scroll(refresh);
refresh();
});
類似してるかもしれないスレッド
- JavaScript ライブラリ総合質問所 vol.4 (985) - [78%] - 2015/12/16 15:00
- JavaScript ライブラリ総合質問所 vol.5 (344) - [75%] - 2022/3/14 17:45
- 【jQuery】JavaScript ライブラリ総合質問所 vol.3 (1001) - [65%] - 2014/6/18 20:58 △
- 【jQuery】JavaScript ライブラリ総合質問所 vol.2 (986) - [65%] - 2013/5/20 7:00
- 【jQuery】JavaScript ライブラリ総合質問所 vol.1 (983) - [65%] - 2012/10/8 22:30
- jQuery 質問スレッド vol.8 (1001) - [30%] - 2018/5/6 11:15
トップメニューへ / →のくす牧場書庫について