ホームページ ウェブフロントエンド jsチュートリアル jsカレンダー関数object_javascriptスキル

jsカレンダー関数object_javascriptスキル

May 16, 2016 pm 05:57 PM
カレンダー

需要によって引き起こされる問題: もともとインターネットで js コードを見つけようと思っていましたが、複雑すぎるか、制御が難しいか、互換性が低いことがわかりました...
問題分析: それが優れていることがわかりました。または最高...あなたに合ったものが最高です。
問題の解決策: カレンダー関数を自分で書くことにしました。
コードの提示:
カレンダーメインプログラム

コードをコピー コードは次のとおりです:

var Calendar={
STR:function(){with(this.data)return "" Y "年"、M "月"、D "数値、週" WN[W];},
V: function(o,spli,sx){with(this)return o[sx]="" data.Y spli data.M spli data.D},
T:function(){with(this)データを返します。TABLE}、
dnY:function(){with(this){calendarChange(data.Y 1,data.M-1,data.D)}}、
dnM:function(){with (this) {calendarChange(data.Y,data.M,data.D)}},
upY:function(){with(this){calendarChange(data.Y-1,data.M-1,data .D) }}、
upM:function(){with(this){calendarChange(data.Y,data.M-2,data.D)}}、
day:function(o){with (この) {data.D=o;calendarChange(data.Y,data.M-1,data.D)}}、
data:{Y:null,M:null,D:null,W:null ,H: null,U:null,YMD:null,YMD_C:"ホット",ARR:null,TABLE:null,MN:null,WN:null,SELECT:null,TADAY:new Date(),TADAY_C:"taday ",ROWLEN :7,VALUE:null}、
creatTable:function(){with(this){
var table="<テーブルの高さ=100% 幅=100%>"
for(var i=0;i" t ""; }
for(data.ARR の var i){var showText=data.ARR[i]||" ",br=i�ta.ROWLEN,title,css;
if(!br){table =""};
data.ARR[i]?title=data.Y "-" data.M "-" showText:title=""; data.TADAY .getDate())==String(data.ARR[i])?
(data.YMD.getFull Year()==data.TADAY.getFull Year()&&data.YMD.getMonth()==data .TADAY.getMonth()&&data.YMD.getDate()==data.TADAY.getDate())?
css=data.TADAY_C " " data.YMD_C:css=data.YMD_C:css=""; 🎜>table ="" showText "";
}table =""
data.TABLE=table;return table;
}},
calendarStarArr:function(userY,userM,userD){with(this){
var Arr=[]; now = new Date(userY,userM,userD);
var LastDay = now.getLastDay();
var FirstDayofWeek = now;data.Y=now .getFull Year( );
data.M=now.getMonth() 1;data.D=now.getDate();data.W=now.getDay();
while(Arr.length!=FirstDayofWeek ){Arr .push(false)}
for(var i=0;iwhile(Arr.length�ta.ROWLEN!=0) {Arr.push(false)}
data.ARR=Arr; return
}},
calendarChange:function(userY,userM,userD){with(this){
calendarStarArr( userY,userM ,userD);creatTable()
}},
calendarStar:function(userY,userM,userD){with(this){
data.MN = ["zero","one" ,"2","3","4","5","6","7","8","9","10","11","12"]; . WN = ["日","一","二","三","四","五","六"];
calendarChange(userY,userM,userD); 、
init:function(){with(this){
Date.prototype.getLastDay=function(){return(new Date(this.getFull Year(),this.getMonth() 1,0).getDate ( ))}
Date.prototype.FirstDayofWeek=function(){return(new Date(this.getFull Year(),this.getMonth(),1).getDay())}
calendarStar(new Date( ) .getFull Year(),new Date().getMonth(),new Date().getDate())
}}
}


コード適用の説明:



コードをコピー




コードをコピー

コードは次のとおりです。 obj.innerHTML=aa.STR()//日付文字列を表示obj.innerHTML=aa.T()//テーブルを表示aa.dnY()//次へyearaa .upY()//前年
aa.dnM()//来月
aa.upM()//前月
aa.day(Number)//変更カレンダー表示 何の番号 (数値は数値パラメータを渡す必要があります)


このカレンダー オブジェクトは、
具体的にはカレンダーが配置される場所、
どのイベントがどのトリガーをトリガーするかという、カレンダーのコア機能を実装します。
もしそうだとしたら、このカレンダーを書く本来の目的がなくなってしまいます。
なぜ誰も反応しなかったのでしょうか? 例を見てみましょう。




コードは次のとおりです:




js日历效果-wangzf


html,body{高さ:100%;幅:100%;}
*{マージン:0;パディング:0;}
.calendarBox{幅:100%;}
#calendar_control{背景:#a3a3b4;}
#calendar_control input{min-width:inherit;}
#calendarBox{幅:100%;高さ:100%;}
#calendar_str{cursor:pointer;text-align :center;font-weight:lighter;}
#calendar_body td{background:#f0f0f0;cursor:pointer;}
#calendar_body td.taday{background:#0CF;}
#calendar_body td.hot {background:#FF6;}
#calendar_body th{background:#3f526f;color:#fff;}
#calendar_body td,#calendar_body th{text-align:center;}

var Calendar={
STR:function(){with(this.data)return "" Y "年," M "月," D "号,星期" WN[W];},
V:function(spli){with(this)return "" data.Y spli data.M spli data.D},
T:function(){with(this)return data.TABLE},
dnY:function(){with(this){calendarChange(data.Y 1,data.M-1,data.D)}}、
dnM:function(){with(this){calendarChange(data.Y ,data.M,data.D)}},
upY:function(){with(this){calendarChange(data.Y-1,data.M-1,data.D)}},
upM:function(){with(this){calendarChange(data.Y,data.M-2,data.D)}}、
day:function(o){with(this){data.D=o ;calendarChange(data.Y,data.M-1,data.D)}}、
データ:{Y:null,M:null,D:null,W:null,H:null,U:null, YMD:null,YMD_C:"ホット",ARR:null,TABLE:null,MN:null,WN:null,SELECT:null,TADAY:new Date(),TADAY_C:"taday",ROWLEN:7,VALUE:null },
creatTable:function(){with(this){
var table="<テーブルの高さ=100% 幅=100%>"
for(var i=0;i" t "";}
for(var i in data.ARR){var showText=data.ARR[i]||" ",br=i�ta.ROWLEN,title,css=" ";
if(!br){table =""};
data.ARR[i]?title=data.Y "-" data.M "-" showText:title="";
if(String(data.D)==String(data.ARR[i])){css =" " data.YMD_C;}
if(data.YMD.getFull Year()==data.TADAY .getFull Year()&&data.YMD.getMonth()==data.TADAY.getMonth()&&String(data.TADAY.getDate())==String(data.ARR[i])){css=" " data.TADAY_C }
table ="" showText "";
}テーブル =""
data.TABLE=table;テーブルを返す;
}}、
calendarStarArr:function(userY,userM,userD){with(this){
var Arr=[];
var now = new Date(userY,userM,userD);
var LastDay = now.getLastDay();
var FirstDayofWeek = now.FirstDayofWeek();
data.YMD=now;data.Y=now.getFull Year();
data.M=now.getMonth() 1;data.D=now.getDate();data.W=now.getDay();
while(Arr.length!=FirstDayofWeek){Arr.push(false)}
for(var i=0;iwhile( Arr.length�ta.ROWLEN!=0){Arr.push(false)}
data.ARR=Arr;re​​turn Arr;
}}、
calendarChange:function(userY,userM,userD){with(this){
calendarStarArr(userY,userM,userD);creatTable()
}}、
calendarStar :function(userY,userM,userD){with(this){
data.MN = ["零","一","二","三","四","五","六" 、「七」、「八」、「九」、「十」、「十一」、「十二」];
data.WN = ["日","一","二","三","四","五","六"];
calendarChange(userY,userM,userD);
}}、
init:function(){with(this){
Date.prototype.getLastDay=function(){return(new Date(this.getFull Year(),this.getMonth() 1 ,0).getDate())}
Date.prototype.FirstDayofWeek=function(){return(new Date(this.getFull Year(),this.getMonth(),1).getDay())}
CalendarStar(new Date().getFull Year(),new Date().getMonth(),new Date().getDate())
}}
}





















calendar.init()
function CalendarChange(){
var Calendar_body=document.getElementById("calendar_body")
calendar_body.innerHTML=calendar.T()//表示表格
var Calendar_str=document.getElementById("calendar_str")
calendar_str.innerHTML=calendar.STR()//显示日期字符串
calendarControl()//调用日历制御
}
calendarChange()/ /日历更新
function CalendarControl(){
var Calendar_str=document.getElementById("calendar_str")
calendar_str.onclick=function(){ Calendar.init();calendarChange()}//今天を返す機能实现
var Calendar_dnY=document.getElementById("calendar_dnY")
calendar_dnY.onclick=function(){ Calendar.dnY();calendarChange()}//下一年 機能实现
var Calendar_dnM= document.getElementById("calendar_dnM")
calendar_dnM.onclick=function(){ Calendar.dnM();calendarChange()}//下一月功能实现
var Calendar_upY=document.getElementById("calendar_upY")
calendar_upY.onclick=function(){ Calendar.upY();calendarChange()}//上一年功能实现
var Calendar_upM=document.getElementById("calendar_upM")
calendar_upM.onclick=function (){ Calendar.upM();calendarChange()}//上一月功能实现
var Calendar_day=document.getElementById("calendar_body").getElementsByTagName("td");
for(calendar_day の var i){calendar_day[i].onclick=function(){var N=Number(this.innerText);if(N){calendar.day(N);calendarChange()}}} //当天日期功能实现
}



このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

win11の二画面カレンダーがセカンドモニターに存在しない場合はどうすればよいですか? win11の二画面カレンダーがセカンドモニターに存在しない場合はどうすればよいですか? Jun 12, 2024 pm 05:47 PM

Windows 11 で毎日の仕事やルーチンを整理するための重要なツールは、タスク バーの時刻と日付の表示です。この機能は通常、画面の右下隅にあり、時刻と日付に即座にアクセスできます。この領域をクリックするとカレンダーが表示され、別のアプリを開かなくても今後の予定や日付を簡単に確認できます。ただし、複数のモニターを使用している場合は、この機能で問題が発生する可能性があります。具体的には、接続されているすべてのモニターのタスクバーに時計と日付が表示されますが、2 番目のモニターで日付と時刻をクリックしてカレンダーを表示する機能は利用できません。現時点では、この機能はメイン ディスプレイでのみ機能します。Windows 10 とは異なり、任意のディスプレイをクリックすると機能します。

Win10のカレンダーには週番号が表示される Win10のカレンダーには週番号が表示される Jan 04, 2024 am 08:41 AM

多くのユーザーは、Win10 カレンダー ツールを使用して現在の日数を確認したいと考えていますが、カレンダーにはこの機能が自動的に表示されません。実際には、簡単な設定を行うだけで、今年の累積週数が表示されます ~ Win10 カレンダー表示週 デジタル設定チュートリアル: 1. デスクトップの左下隅にある検索にカレンダーと入力し、アプリケーションを開きます。 2. 開いたカレンダー アプリケーションで、左下隅の「歯車」アイコンをクリックすると、右側に設定がポップアップ表示されます。「カレンダー設定」をクリックします。 3. 開いたカレンダー設定で続行し、「週番号」を見つけます。そして週を変更します。数値オプションを「年の最初の日」に調整するだけです。 4. 上記の設定が完了したら、「週」をクリックすると、今年の週番号の統計が表示されます。

Outlook カレンダーが同期していません。 Outlook カレンダーが同期していません。 Mar 26, 2024 am 09:36 AM

Outlook カレンダーが Google カレンダー、Teams、iPhone、Android、Zoom、Office アカウントなどと同期できない場合は、次の手順に従って問題を解決してください。カレンダー アプリは、Google カレンダー、iPhone、Android、Microsoft Office 365 などの他のカレンダー サービスと接続でき、自動的に同期できるので非常に便利です。しかし、OutlookCalendar がサードパーティの予定表と同期できない場合はどうすればよいでしょうか? 考えられる理由としては、同期に間違った予定表を選択した、予定表が表示されない、バックグラウンド アプリケーションの干渉、古い Outlook アプリケーションまたは予定表アプリケーションなどが考えられます。 Outlook カレンダーが同期しない場合の暫定的な修正

win10で右下のカレンダーが開けません win10で右下のカレンダーが開けません Dec 26, 2023 pm 05:07 PM

win0 システムを使用している友人の中には、win10 カレンダーが開けないという状況に遭遇した人もいます。これは単なるコンピュータの通常の不具合です。win10 システムのプライバシー設定で解決できます。今日、編集者が詳細な解決策を提供しました。以下、見てみましょう。 win10の右下でカレンダーが開けない問題の解決策 1. win10システムで「スタート」をクリック → 上のプログラムリストボタンをクリック → ピンイン(中国語) Rを検索 → カレンダー 2. 初めて使用する場合, 新しいイベントが開かない場合があります (マウスを傾けると紺色が選択されなくなります), プライバシーに設定できます。デスクトップの左上隅にある 3 本のバーのアイコンをクリックすると、下部に設定メニューが表示されます; 3. ポップアップ インターフェイスで [プライバシー] をクリックします; 4. 以前に設定を使用したことがある場合は、左

Win10 でカレンダー イベントのポップアップ リマインダーが表示されない場合はどうすればよいですか? Win10 でカレンダー イベントのリマインダーが表示されなくなった場合はどうすればよいですか? Win10 でカレンダー イベントのポップアップ リマインダーが表示されない場合はどうすればよいですか? Win10 でカレンダー イベントのリマインダーが表示されなくなった場合はどうすればよいですか? Jun 09, 2024 pm 02:52 PM

カレンダーは、ユーザーがスケジュールを記録したり、リマインダーを設定したりするのに役立ちますが、多くのユーザーは、Windows 10 でカレンダー イベントのリマインダーが表示されない場合はどうすればよいかを尋ねています。ユーザーはまず Windows の更新ステータスを確認するか、Windows App Store のキャッシュをクリアして操作を実行できます。このサイトでは、Win10 カレンダーのイベントリマインダーが表示されない問題の分析をユーザーに丁寧に紹介します。カレンダーイベントを追加するには、システムメニューの「カレンダー」プログラムをクリックします。カレンダー内の日付をマウスの左ボタンでクリックします。編集画面でイベント名とリマインダー時刻を入力し、「保存」ボタンをクリックするとイベントが追加されます。 Win10のカレンダーイベントリマインダーが表示されない問題を解決する

生理不順のない購入局:カレンダーと誕生日シリーズの周辺機器が新登場! 生理不順のない購入局:カレンダーと誕生日シリーズの周辺機器が新登場! Feb 29, 2024 pm 12:00 PM

「失われた購買オフィスは 2 月 28 日午前 11 時に更新されることが確認されています。プレイヤーは淘宝網にアクセスして購買オフィスを検索し、購入するストア カテゴリを選択できます。今回は MBCC 誕生日パーティー シリーズと 2024 卓上カレンダー周辺機器をお届けします。」ぜひ、今回は商品詳細をご覧ください。生理不順のない購入局:カレンダーと誕生日シリーズの周辺機器が新登場!遺失物調達室に新たな出来事が! - 先行販売時間: 2024年2月28日 11:00 - 2024年3月13日 23:59 購入アドレス: 淘宝網検索[予期せぬ紛失購入局] [ストア]カテゴリを選択して購入ストアに入り、周辺機器の紹介: 新しい周辺機器今回発売されるのはMBCCバースデーパーティーシリーズと2024年卓上カレンダー周辺機器です 詳細は長い画像をクリックしてください。購買オフィスが新しい周辺機器を導入 - MBCC の学生

win11の時間が常に不正確である問題を解決するにはどうすればよいですか? Win11 時間調整チュートリアルは、不正確な時間の問題をすぐに解決します win11の時間が常に不正確である問題を解決するにはどうすればよいですか? Win11 時間調整チュートリアルは、不正確な時間の問題をすぐに解決します Apr 19, 2024 am 09:31 AM

Windows 11 コンピューターで間違った時間が表示されると、多くの問題が発生し、インターネットに接続できなくなる可能性があります。実際、システムが間違った日付と時刻を表示すると、一部のアプリケーションを開いたり実行したりすることを拒否します。では、この問題をどうやって解決すればいいのでしょうか?以下を見てみましょう!方法 1: 1. まず、下のタスク バーの空白スペースを右クリックし、[タスク バーの設定] を選択します。 2. タスク バーの設定で右側にある taskbarcorneroverflow3 を見つけて、その上にある時計または時計を見つけて、オンにすることを選択します。方法 2: 1. キーボード ショートカット win+r を押して「ファイル名を指定して実行」を呼び出し、「regedit」と入力して Enter キーを押して確認します。 2. レジストリ エディタを開き、その中で HKEY を見つけます。

Vueを使用してカレンダーコンポーネントを実装するにはどうすればよいですか? Vueを使用してカレンダーコンポーネントを実装するにはどうすればよいですか? Jun 25, 2023 pm 01:28 PM

Vue は非常に人気のあるフロントエンド フレームワークであり、コンポーネント化、データ バインディング、イベント処理など、開発者が効率的で柔軟で保守が容易な Web アプリケーションを構築するのに役立つ多くのツールと機能を提供します。この記事では、Vueを使ってカレンダーコンポーネントを実装する方法を紹介します。 1. 要件の分析 まず、このカレンダー コンポーネントの要件を分析する必要があります。基本的なカレンダーには次の機能が必要です: 当月のカレンダー ページの表示、前月または翌月への切り替えのサポート、特定の日のクリックのサポート、

See all articles