のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,467,931人
昨日:no data人
今日:
最近の注目
人気の最安値情報

私的良スレ書庫

不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

元スレ+ JavaScript の質問用スレッド vol.77 +

JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
701 : Name_Not - 2010/04/19(月) 02:24:02 ID:??? (+57,+29,-2)
真理タンにお近づきになりたいです!><
707 : Name_Not - 2010/04/19(月) 22:16:43 ID:??? (+29,-30,-126)
>>706
レスに貼られてるコードだと閉じブレース { が一個多い気がする。

SetPrevMonth、SetNextMonth 内で年またぎの判定を直す必要がある。
(getMonth() の返す値は 0 から 11)

そうすると view_cal 関数内で以下の修正が必要。

cy = (!year)?... -> cy = (year === undefined)?...
cm = (!month)?... -> cm = (month === undefined)?...

そうすると最初の呼び出しは view_cal(0, 0) でなく view_cal() にするとか。

あと、閏年は?
まぁ、設計から見直した方が良いよ。
708 : Name_Not - 2010/04/19(月) 22:17:52 ID:??? (-5,-28,+0)
閉じブレースは } だった。
709 : Name_Not - 2010/04/19(月) 22:40:50 ID:??? (+57,+29,-9)
正直カレンダーみたいな汎用スクリプトは
ググレば腐るほど出てくるよね・・・
710 : Name_Not - 2010/04/19(月) 23:08:13 ID:??? (+3,-30,-76)
LightBox的などを開くと「image 1 of 10」って出るじゃないですか
ソースで記述した順に1of10、2of10ってなって1番下層にあるimageが10of10になります
これを1番上のものを10of10、1番下のものを1of10と逆にしたいのですがなにかいい方法ありませんか?
現在は current: "image {current} of {total}", となっています
711 : Name_Not - 2010/04/19(月) 23:09:34 ID:??? (+109,+29,-15)
ああ、月末日なんて次月の0日にセットすれば分かるのに
意地でも自力で閏年計算するやつばっかりな
何なんだアレ
712 : 702 - 2010/04/20(火) 00:00:45 ID:??? (+66,+30,-97)
>>707
ありがとうございます
かなり改善されて年またぎのところもうまく動作するようになりました
感動しています
本当にありがとうございます
あとはおっしゃる通りうるう年のところだけの問題となりました
自分の勉強のためにカレンダーを作成してたのですが
ググっても万年に関してはけっこう強引なスクリプトばかり出てきまして…
当月のみのカレンダーなら良いのがいっぱいあったのですが
とにかく感謝しております
ありがとうございました
713 : Name_Not - 2010/04/20(火) 00:19:06 ID:??? (+21,-15,-19)
>>711
それは仕様? 実装依存?
714 : Name_Not - 2010/04/20(火) 00:19:51 ID:??? (+49,+26,-14)
実装依存でしょうねえ
715 : Name_Not - 2010/04/20(火) 00:41:49 ID:??? (+68,+29,-55)
仕様だよ
つーか仕様も読まずに実装依存とか抜かすアホが多すぎるだろ
716 : 702 - 2010/04/20(火) 00:55:04 ID:??? (+71,+29,-18)
>>711
ありがとうございます
そのヒントで閏年も解決できました
非常に助かりました
計算するよりかは多少記述量も減るし楽でした
717 : Name_Not - 2010/04/20(火) 01:51:05 ID:??? (+3,-29,-152)
setDate() はインスタンスの保持している年と月の値を使って
その月の初日の(基準日からの経過日数)を取得し、
そこに引数の日を加算し、日付を再計算し直す。
だから負の数でも32以上を与えても問題ない。

気をつける必要があるのは月。
12以上の値は問題ないが負の数については実装依存。
理由についてはECMA Script仕様書のMakeDay関数を参照。
(月) = (引数の月) % 12 のような計算はしていても
それを0以上に正規化するような処理は入っていないので、
カレンダー上で本当に「マイナス1月」を探して失敗することになる。
setMonth(-1) とかやってエラーにならないのは仕様書から外れてる。
718 : Name_Not - 2010/04/20(火) 02:20:30 ID:??? (-1,-29,-27)
5.2節によりm modulo 12の結果が0または正であることは保証されてるから
月に負数を与えてもまったく問題ないだろ
719 : Name_Not - 2010/04/20(火) 02:54:28 ID:??? (+57,+29,-17)
Dateの使い方を知らずに無駄計算している奴が多すぎ
どこぞの有名解説サイトからしてそうなんだが
720 : Name_Not - 2010/04/20(火) 09:28:51 ID:??? (+52,+29,-16)
暇だったら解説してくれんかね?
721 : Name_Not - 2010/04/20(火) 09:58:18 ID:??? (+29,-30,-227)
Jqueryで質問させてください。

<div id="newForm"><div class="input text"><input name="text" type="text" /></div></div>

Addボタンを押すと、上記のようなテキストフィールドが追加されます。
これを、下から順に消したいです。


$('#remove').click(function() {
var newForm = $('#newForm');
newForm.remove();
});

このようにしたのですが、下からではなく、上から消されてしまいます。

var newForm = $('#newForm').last();
など、いろいろな部分にlast()を使っても、divが残ったり上手く動かないです。

なにかよい方法はないでしょうか?
722 : Name_Not - 2010/04/20(火) 10:09:49 ID:??? (+84,-30,-54)
>>711
おぉ、そんなんできるんだ。と思って試してみたら、
>>> new Date(2010, 4, 0)
Fri Apr 30 2010 00:00:00 GMT+0900 {}

その月の最終日がになってしまった。やり方が違う?

>>715
Dateの仕様読んだ事ないので読みたいんだけど、ECMA-262のことであってる?
723 : Name_Not - 2010/04/20(火) 10:12:29 ID:??? (+58,-29,-67)
>>721
id="remove"の要素はどこにあるんだって言うのと、
clickされた要素はthisで取得できるからfunctionの中の1行目がムダなのと、
つっこみどころが満載です。
もうちょっと情報出してください。
724 : Name_Not - 2010/04/20(火) 10:22:08 ID:??? (+64,+29,-3)
>>722
合ってる様に見えるけど、どう変?
725 : Name_Not - 2010/04/20(火) 10:23:32 ID:??? (+75,+29,-20)
>>722
老婆心ながら、月は0~11ね。
5月0日→4月最終日だから、合ってる様に見える。
726 : Name_Not - 2010/04/20(火) 10:23:55 ID:??? (-4,-27,+0)
>次月の0日にセット
727 : 721 - 2010/04/20(火) 10:32:04 ID:??? (+139,+19,-7)
>>723

レスありがとうございます!

失礼しました。 コードはこちらです。
cakeのコードなのでちょっと分かりづらいかもしれません。
728 : Name_Not - 2010/04/20(火) 10:41:45 ID:??? (+13,-29,-41)
>>725
あぁ!そうだった。月は0-11か。
最初
new Date('2010/04/00')
と実行して、Firefoxは上手くいったがChromeが上手くいかず、
「あ、引数の渡し方違うわ」
と直したせいでそのまま4入れてた。すみません。
729 : Name_Not - 2010/04/20(火) 10:44:09 ID:??? (+83,+29,-33)
>>727
まさか画像がくるとは思わなかったわw斬新だな
せめてブラウザで見た結果のソースをキャプチャしろよ
というか、コピペして貼り付けなよ。
730 : 721 - 2010/04/20(火) 10:54:55 ID:??? (+14,-30,-133)
>>729

すいません。
ブラウザのソースは長くなって改行もごちゃちゃで、
コピペすると全部入らないのでこうなってしまいました。

ちゃんとブラウザの結果をわかりやすく表示するように次回から考えたいと思います。


いろいろいじっていると、 removeするエレメントがclassじゃなくてidになっていたのが原因でした。
とりあえずは上手くいきました!

ありがとうございました!


$('#remove').click(function() {
var newForm = $('.newForm').last();
newForm.remove();
});
731 : Name_Not - 2010/04/20(火) 12:22:22 ID:??? (+17,-30,-289)
Jqueryで質問させてください。

<div class="container">
<div class="form"><input type=text name="name"></div>
<div class="form"><input type=text name="name"></div>
<div class="form"><input type=text name="name"></div>
</div>

上記のformクラスを下から消していくには、

$('.form').last().remove();

といったコードでできますが、

formクラスを全部消さずに、最後の一つだけ残すような設定はできるでしょうか?

例えば、下記のような状態になるとremoveできなくなるような。

<div class="container">
<div class="form"><input type=text name="name"></div>
</div>
732 : Name_Not - 2010/04/20(火) 12:49:00 ID:??? (+64,-30,-50)
>>731
if ($('.form').children().length > 1) $('.form').last().remove();
733 : Name_Not - 2010/04/20(火) 13:02:25 ID:??? (+81,+25,-15)
まずJqueryって書くのやめろ
734 : 731 - 2010/04/20(火) 13:06:05 ID:??? (+62,+25,+1)
>>732

ありがとうございます!

>>733

申し訳ないっす!
735 : Name_Not - 2010/04/21(水) 02:30:28 ID:??? (+11,-30,-12)
div.container > div.form:not(:last-of-type)
736 : Name_Not - 2010/04/21(水) 09:16:01 ID:??? (+28,-6,-4)
>>735
それIEで動かなくね?
737 : Name_Not - 2010/04/21(水) 09:46:57 ID:??? (+9,-30,-81)
jQueryなのに?

732みたいなのをよく見るけど
$('.form')をquerySelectorないしgetElementsByClassNameに置き換えてみろ
何回同じメソッドを走らせてんだよ
ましてIE7を気にするのならそのたびにdocumentから探索し直してんだぜ
738 : Name_Not - 2010/04/21(水) 10:55:49 ID:??? (+66,+29,-47)
大規模サイトや情報量(≒ノード数)が多い文書なんかで >>732 みたいなことやられると、IEじゃなくてもモッサリするよね

jQuery使うのもいいけど、最低限、計算量のことぐらい考えてほしい
739 : 736 - 2010/04/21(水) 11:21:10 ID:??? (+4,-30,-72)
>>737
CSS3使ったSelectorsはIEだと動かなかったはず。実際手元のIE6だと動いてない。
まぁでもIEは捨ててもいいと思うけど。

varで保持せずに毎回$('div.form')とかで何度も要素を取得するコードはウチの会社でもよく見るなぁ。
741 : Name_Not - 2010/04/21(水) 13:19:02 ID:??? (+30,+7,-15)
先行実装使うなよ
742 : Name_Not - 2010/04/21(水) 13:42:20 ID:??? (+3,-30,-77)
Selectors3はとっくに勧告候補だぞ
動作確認してないがjQuery 1.4のソースコードを眺めてみたら
:nth-childはサポートしているが:nth-of-typeはサポートしていないっぽい
jQueryのセレクタエンジンはいろいろ中途半端だから信頼できん
743 : Name_Not - 2010/04/21(水) 13:48:57 ID:??? (+10,-17,-18)
jQuery自体がセレクタを独自拡張してるからなあ
744 : Name_Not - 2010/04/21(水) 14:35:34 ID:??? (-1,-29,-9)
Lightbox 2.04にて拡大後の画像をクリックでも閉じるようにする
方法を教えてください。
745 : Name_Not - 2010/04/21(水) 14:40:35 ID:??? (-6,-29,-4)
Lightbox(笑)
746 : Name_Not - 2010/04/21(水) 14:56:26 ID:??? (+11,-16,-1)
Lightboxの機能くらい自分で作れ
747 : Name_Not - 2010/04/21(水) 17:58:41 ID:??? (-6,-29,-1)
uupaa.js使おうよ
748 : Name_Not - 2010/04/21(水) 20:12:45 ID:??? (+76,+14,-10)
uupaaはハックの塊なのと設計が汚いのとで常用するのが怖い
749 : Name_Not - 2010/04/21(水) 20:30:25 ID:??? (+68,+29,-17)
>>748
意味が判らん。
プログラムはハックの塊でしょ、フツーに。
750 : Name_Not - 2010/04/21(水) 20:38:07 ID:??? (+43,+25,+0)
ふーん
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について