xiangsj

因客户需要,我们CRM系统中,jQuery 弄个时区插件

如图:

 HTML:

<div id="cityDate">
                <i class="P_arrow"></i>
                <h3>
                    <span class="P_n">世界时钟:</span>
                    <span class="P_c">a</span>
                    <span class="P_d">07月21日 周五 16:33:22</span>
                    <span class="P_w">&nbsp;</span>
                    <span class="P_t">&nbsp;</span>
                </h3>
                <div class="timeSelect M_scrollBar">
                    <dd>阿布賈,尼日利亞</dd>

                </div>
                <script language="javascript">
                    $(function(){
                        //所有城市和时间静态输出
                        var cityID = 170; //初始城市,中国,北京
                        var showZone = $.showZone(cityID);
                        $("#cityDate .timeSelect dd").live(\'click\',function(e){
                            cityID = $(this).attr("cityID");
                            $.showZone(cityID);
                        });
                    });
                </script>
            </div>

jQuery:

// 时区城市
//$(function(){
//所有城市和时间静态输出
//var cityID = 170;    //中国,北京
//var showZone = $.showZone(cityID);
//$("#cityDate .timeSelect dd").live(\'click\',function(e){
//    cityID = $(this).attr("cityID");
//    $.showZone(cityID);
// });
//});
(function ($) {
    $.extend({
        "showZone": function (id) {

            var city = new Array([\'安道尔 · 安道尔\',\'A\',\'1\'],[\'阿尔及利亚 · 阿尔及尔\',\'A\',\'2\'],[\'阿尔巴尼亚 · 地拉那\',\'A\',\'3\'],[\'奥地利 · 维也纳\',\'A\',\'4\'],[\'澳洲 · 伯斯\',\'H\',\'5\'],[\'澳洲 · 达尔文\',\'I1\',\'6\'],[\'澳洲 · 布里斯本\',\'K\',\'7\'],[\'澳洲 · 墨尔本\',\'K\',\'8\'],[\'澳洲 · 昆士兰\',\'K\',\'9\'],[\'澳洲 · 悉尼\',\'K\',\'10\'],[\'澳洲 · 阿得雷德\',\'K1\',\'11\'],[\'阿联酋 · 阿布达比\',\'D\',\'12\'],[\'阿联酋 · 杜拜\',\'D\',\'13\'],[\'阿曼 · 马斯喀特\',\'D\',\'14\'],[\'阿富汗 · 喀布尔\',\'D1\',\'15\'],[\'阿根廷 · 布宜洛斯艾利斯\',\'P\',\'16\'],[\'阿拉斯加 · 安克雷奇\',\'V\',\'17\'],[\'埃尼威托克\',\'Y\',\'18\'],[\'埃及 · 开罗\',\'B\',\'19\'],[\'埃塞俄比亚\',\'C\',\'20\'],[\'比利时 · 布鲁塞尔\',\'A\',\'21\'],[\'波兰 · 华沙\',\'A\',\'22\'],[\'波札那 · 嘉柏隆\',\'B\',\'23\'],[\'保加利亚 · 索非亚\',\'B\',\'24\'],[\'巴基斯坦 · 伊斯兰堡\',\'E\',\'25\'],[\'巴基斯坦 · 喀拉蚩\',\'E\',\'26\'],[\'巴西 · 巴西利亚\',\'P\',\'27\'],[\'巴西 · 里约热内卢\',\'P\',\'28\'],[\'巴巴多斯 · 布里奇敦\',\'Q\',\'29\'],[\'巴布亚新畿内亚\',\'K\',\'30\'],[\'百慕达 · 哈密尔顿\',\'Q\',\'31\'],[\'玻利维亚 · 拉巴斯\',\'Q\',\'32\'],[\'巴拉圭 · 亚松森\',\'Q\',\'33\'],[\'巴哈马 · 拿骚\',\'R\',\'34\'],[\'巴拿马 · 巴拿马城\',\'R\',\'35\'],[\'冰岛 · 雷克雅未克\',\'Z\',\'36\'],[\'北韩 · 平壤\',\'I\',\'37\'],[\'德国 · 柏林\',\'A\',\'38\'],[\'丹麦 · 哥本哈根\',\'A\',\'39\'],[\'德国 · 法兰克福\',\'A\',\'40\'],[\'德国 · 汉堡\',\'A\',\'41\'],[\'达累斯萨拉姆\',\'C\',\'42\'],[\'多米尼加共和国\',\'Q\',\'43\'],[\'多米尼克 · 罗索\',\'Q\',\'44\'],[\'俄罗斯 · 莫斯科\',\'C\',\'45\'],[\'厄瓜多尔 · 基多\',\'R\',\'46\'],[\'法国 · 里昂\',\'A\',\'47\'],[\'法国 · 巴黎\',\'A\',\'48\'],[\'芬兰 · 赫尔辛基\',\'B\',\'49\'],[\'佛得角 · 普拉亚\',\'N\',\'50\'],[\'菲律宾 · 马尼拉\',\'H\',\'51\'],[\'斐济 · 苏瓦\',\'M\',\'52\'],[\'刚果 · 布拉柴维尔\',\'A\',\'53\'],[\'哥伦比亚 · 波哥大\',\'R\',\'54\'],[\'古巴 · 哈瓦那\',\'R\',\'55\'],[\'哥斯达黎加 · 圣荷塞\',\'S\',\'56\'],[\'甘比尔群岛\',\'V\',\'57\'],[\'荷兰 · 阿姆斯特丹\',\'A\',\'58\'],[\'荷兰 · 罗索\',\'A\',\'59\'],[\'荷属安的列斯群岛\',\'Q\',\'60\'],[\'洪都拉斯 · 特古西加尔巴\',\'S\',\'61\'],[\'惠森迪岛\',\'K\',\'62\'],[\'捷克 · 布拉格\',\'A\',\'63\'],[\'津巴布韦 · 哈拉雷\',\'B\',\'64\'],[\'柬浦寨 · 金边\',\'G\',\'65\'],[\'基里巴斯共和国\',\'M2\',\'66\'],[\'加拿大 · 纽芬兰省\',\'P1\',\'67\'],[\'加拿大 · 新斯科舍\',\'Q\',\'68\'],[\'加拿大 · 蒙特利尔\',\'R\',\'69\'],[\'加拿大 · 渥太华\',\'R\',\'70\'],[\'加拿大 · 多伦多\',\'R\',\'71\'],[\'加拿大 · 温尼伯\',\'S\',\'72\'],[\'加拿大 · 埃德蒙顿\',\'T\',\'73\'],[\'加拿大 · 温哥华\',\'U\',\'74\'],[\'加纳 · 阿克拉\',\'Z\',\'75\'],[\'喀密隆 · 雅温得\',\'A\',\'76\'],[\'科威特 · 科威特\',\'C\',\'77\'],[\'肯雅 · 奈洛比\',\'C\',\'78\'],[\'卢森堡\',\'A\',\'79\'],[\'黎巴嫩 · 贝鲁特\',\'B\',\'80\'],[\'罗马尼亚 · 布加勒斯特\',\'B\',\'81\'],[\'美国 · 马里兰\',\'R\',\'82\'],[\'美国 · 新泽西\',\'R\',\'83\'],[\'美国 · 纽约\',\'R\',\'84\'],[\'美国 · 费城\',\'R\',\'85\'],[\'美国 · 华盛顿\',\'R\',\'86\'],[\'美国 · 芝加哥\',\'S\',\'87\'],[\'美国 · 亚特兰大\',\'R\',\'88\'],[\'美国 · 波士顿\',\'R\',\'89\'],[\'美国 · 达拉斯\',\'S\',\'90\'],[\'美国 · 休斯敦\',\'S\',\'91\'],[\'美国 · 威斯康辛\',\'S\',\'92\'],[\'美国 · 蒙大拿\',\'T\',\'93\'],[\'美国 · 新墨西哥\',\'T\',\'94\'],[\'美国 · 圣迭戈\',\'T\',\'95\'],[\'美国 · 加利福尼亚\',\'U\',\'96\'],[\'美国 · 拉斯维加斯\',\'U\',\'97\'],[\'美国 · 洛杉机\',\'U\',\'98\'],[\'美国 · 三藩市\',\'U\',\'99\'],[\'美国 · 西雅图\',\'U\',\'100\'],[\'美国 · 夏威夷\',\'W\',\'101\'],[\'美国 · 檀香山\',\'W\',\'102\'],[\'马来西亚 · 吉隆坡\',\'H\',\'103\'],[\'孟加拉 · 达卡\',\'F\',\'104\'],[\'缅甸\',\'F1\',\'105\'],[\'秘鲁 · 利马\',\'R\',\'106\'],[\'摩洛哥 · 卡萨布兰卡\',\'Z\',\'107\'],[\'摩洛哥 · 拉巴特\',\'Z\',\'108\'],[\'莫尔兹比港\',\'K\',\'109\'],[\'墨西哥 · 墨西哥城\',\'S\',\'110\'],[\'尼日利亚 · 阿布贾\',\'A\',\'111\'],[\'挪威 · 奥斯陆\',\'A\',\'112\'],[\'南非 · 开普敦\',\'B\',\'113\'],[\'南非 · 约翰尼斯堡\',\'B\',\'114\'],[\'南韩 · 汉城/首尔\',\'I\',\'115\'],[\'葡萄牙 · 里斯本\',\'Z\',\'116\'],[\'瑞士 · 伯恩\',\'A\',\'117\'],[\'瑞典 · 斯德哥尔摩\',\'A\',\'118\'],[\'瑞士 · 苏黎世\',\'A\',\'119\'],[\'日本 · 扎幌\',\'I\',\'120\'],[\'日本 · 东京\',\'I\',\'121\'],[\'日本 · 大坂\',\'I\',\'122\'],[\'苏丹 · 喀土木\',\'B\',\'123\'],[\'尚比亚 · 路沙卡\',\'B\',\'124\'],[\'塞普路斯 · 尼古西亚\',\'B\',\'125\'],[\'沙特阿拉伯 · 利雅德\',\'C\',\'126\'],[\'斯里兰卡 · 可伦坡\',\'F\',\'127\'],[\'萨摩亚\',\'M1\',\'128\'],[\'圣多明各\',\'Q\',\'129\'],[\'萨尔瓦多 · 圣萨尔瓦多\',\'S\',\'130\'],[\'塞内加尔 · 达喀尔\',\'Z\',\'131\'],[\'斯里巴加湾\',\'H\',\'132\'],[\'土耳其 · 伊斯坦布尔\',\'B\',\'133\'],[\'坦桑尼亚\',\'C\',\'134\'],[\'泰国 · 曼谷\',\'G\',\'135\'],[\'泰国 · 布吉\',\'G\',\'136\'],[\'特林达迪岛\',\'O\',\'137\'],[\'乌干达 · 坎帕拉\',\'C\',\'138\'],[\'乌拉圭 · 蒙得维的亚\',\'P\',\'139\'],[\'威廉斯塔德\',\'Q\',\'140\'],[\'危地马拉 · 危地马拉城\',\'S\',\'141\'],[\'汶莱\',\'H\',\'142\'],[\'西班牙 · 巴塞隆纳\',\'A\',\'143\'],[\'匈牙利 · 布达佩斯\',\'A\',\'144\'],[\'西班牙 · 马德里\',\'A\',\'145\'],[\'希腊 · 雅典\',\'B\',\'146\'],[\'新加坡\',\'H\',\'147\'],[\'新西兰 · 威灵顿\',\'M\',\'148\'],[\'新喀里多尼亚 · 努美阿\',\'L\',\'149\'],[\'新西兰 · 奥克兰\',\'M\',\'150\'],[\'意大利 · 米兰\',\'A\',\'151\'],[\'意大利 · 罗马\',\'A\',\'152\'],[\'以色列 · 耶路撒冷\',\'B\',\'153\'],[\'亚的斯亚贝巴\',\'C\',\'154\'],[\'也门 · 萨那\',\'C\',\'155\'],[\'伊朗 · 德克兰\',\'C1\',\'156\'],[\'印度 · 孟买\',\'E1\',\'157\'],[\'印度 · 加尔各答\',\'E1\',\'158\'],[\'印度 · 新德里\',\'E1\',\'159\'],[\'越南 · 河内\',\'G\',\'160\'],[\'印尼 · 雅加达\',\'G\',\'161\'],[\'牙买加 · 金斯敦\',\'R\',\'162\'],[\'英国 · 阿伯丁\',\'Z\',\'163\'],[\'英国 · 爱丁堡\',\'Z\',\'164\'],[\'英国 · 格拉斯哥\',\'Z\',\'165\'],[\'英国 · 利物浦\',\'Z\',\'166\'],[\'英国 · 伦敦\',\'Z\',\'167\'],[\'英国 · 曼彻斯特\',\'Z\',\'168\'],[\'英国 · 纽卡素\',\'Z\',\'169\'],[\'中国 · 北京\',\'H\',\'170\'],[\'中国 · 重庆\',\'H\',\'171\'],[\'中国 · 广州\',\'H\',\'172\'],[\'中国 · 哈尔滨\',\'H\',\'173\'],[\'中国 · 香港\',\'H\',\'174\'],[\'中国 · 澳门\',\'H\',\'175\'],[\'中国 · 南京\',\'H\',\'176\'],[\'中国 · 上海\',\'H\',\'177\'],[\'中国 · 台北\',\'H\',\'178\'],[\'中国 · 乌鲁木齐\',\'H\',\'179\'],[\'中途岛\',\'X\',\'180\'],[\'智利 · 圣地亚哥\',\'Q\',\'181\']);

            var zone = new Array([\'A\',\'1\'],[\'B\',\'2\'],[\'C\',\'3\'],[\'C1\',\'3.5\'],[\'D\',\'4\'],[\'D1\',\'4.5\'],[\'E\',\'5\'],[\'E1\',\'5.5\'],[\'F\',\'6\'],[\'F1\',\'6.5\'],[\'G\',\'7\'],[\'H\',\'8\'],[\'I\',\'9\'],[\'I1\',\'9.5\'],[\'K\',\'10\'],[\'K1\',\'10.5\'],[\'L\',\'11\'],[\'M\',\'12\'],[\'M1\',\'12.5\'],[\'M2\',\'13\'],[\'N\',\'-1\'],[\'O\',\'-2\'],[\'P\',\'-3\'],[\'P1\',\'-3.5\'],[\'Q\',\'-4\'],[\'R\',\'-5\'],[\'S\',\'-6\'],[\'T\',\'-7\'],[\'U\',\'-8\'],[\'V\',\'-9\'],[\'W\',\'-10\'],[\'X\',\'-11\'],[\'Y\',\'-12\'],[\'Z\',\'0\']);

            //HTML输出
            var cityHtml = "";
            for(var i=0;i<city.length;i++){
                cityHtml += "<dd cityID=\'" + city[i][2] + "\'>" + city[i][0] + "</dd>";
            }
            $("#cityDate .timeSelect").html( cityHtml );    //列表输出城市

            //得到日期
            function getLocalTime(cityZoneNum) {
                //if (typeof cityZoneNum !== \'number\') return;
                var d = new Date();
                var len = d.getTime();
                var offset = d.getTimezoneOffset() * 60000;
                var utcTime = len + offset;

                var dZone = new Date(utcTime + 3600000 * cityZoneNum);

                var vYear = dZone.getFullYear();
                var vMon = dZone.getMonth() + 1;
                var vDay = dZone.getDate();
                var h = dZone.getHours();
                var m = dZone.getMinutes();
                var se = dZone.getSeconds();

                var P_d = (vMon<10 ? "0" + vMon : vMon)+""+(vDay<10 ? "0"+ vDay : vDay)+"";
                var P_w = "" + "日一二三四五六".split("")[dZone.getDay()];
                var P_t = (h<10 ? "0"+ h : h)+":"+(m<10 ? "0" + m : m)+":"+(se<10 ? "0" +se : se);

                //输出时间日期
                var $P_d = $("#cityDate h3 .P_d");
                var $P_w = $("#cityDate h3 .P_w");
                var $P_t = $("#cityDate h3 .P_t");
                $P_d.text(P_d);
                $P_w.text(P_w);
                $P_t.text(P_t);
            }

            //选择城市
            var $P_c = $("#cityDate .P_c");
            var $dd = $("#cityDate .timeSelect dd");
            for(var i=0;i<city.length;i++){

                if( city[i][2] == id ){
                    $P_c.text( city[i][0] );    //默认及所选城市输出

                    for(var j=0;j<zone.length;j++){
                        if( zone[j][0] == city[i][1] ){
                            var zoneID = zone[j][1];
                            var timeDo = window.setInterval(function(){
                                getLocalTime(zoneID);
                            },1000);

                            //点击选项的同时,结束之前定时器
                            $dd.live(\'click\',function(e){
                                window.clearInterval(timeDo);
                                //$("#cityDate h3 .P_d, #cityDate h3 .P_w, #cityDate h3 .P_t").text("---");
                            });
                        }
                    }
                    return false;
                }else{
                    $P_c.html( "<em style=\'color:red\'>no this cityID</em>" );
                }
            }
        }
    });
})(jQuery);

 

 

.

 



分类:

技术点:

相关文章:

  • 2022-12-23
  • 2018-09-13
  • 2021-05-20
  • 2022-12-23
  • 2021-04-04
  • 2022-12-23
  • 2021-11-29
猜你喜欢
  • 2021-10-03
  • 2021-06-16
  • 2021-05-25
  • 2021-08-05
  • 2021-10-06
  • 2022-03-09
相关资源
相似解决方案