茄子在线看片免费人成视频,午夜福利精品a在线观看,国产高清自产拍在线观看,久久综合久久狠狠综合

    <s id="ddbnn"></s>
  • <sub id="ddbnn"><ol id="ddbnn"></ol></sub>

  • <legend id="ddbnn"></legend><s id="ddbnn"></s>

    javascript時(shí)間排序算法實(shí)現(xiàn)活動(dòng)秒殺倒計(jì)時(shí)效果
    來(lái)源:易賢網(wǎng) 閱讀:1079 次 日期:2016-07-21 15:18:59
    溫馨提示:易賢網(wǎng)小編為您整理了“javascript時(shí)間排序算法實(shí)現(xiàn)活動(dòng)秒殺倒計(jì)時(shí)效果”,方便廣大網(wǎng)友查閱!

    這篇文章主要介紹了javascript時(shí)間排序算法實(shí)現(xiàn)活動(dòng)秒殺倒計(jì)時(shí)效果,即一個(gè)頁(yè)面多個(gè)倒計(jì)時(shí)排序,感興趣的小伙伴們可以參考一下

    制做一個(gè)活動(dòng)頁(yè)面 秒殺列表頁(yè) 需要一個(gè)時(shí)間的算法排序 自己琢磨了半天想了各種算法也沒(méi)搞出來(lái),后來(lái)問(wèn)了下一個(gè)后臺(tái)的php同學(xué) 他寫(xiě)了個(gè)算法給我看了下 ,剛開(kāi)始看的時(shí)候覺(jué)得這就是個(gè)純算法,不能轉(zhuǎn)化成頁(yè)面的dom效果,可是再看了兩遍發(fā)現(xiàn)可以, 于是我就改了改,實(shí)現(xiàn)了,先分享給大家。

    頁(yè)面需求是:從11點(diǎn)到20點(diǎn) 每隔一個(gè)小時(shí)一場(chǎng)秒殺 如果是當(dāng)前時(shí)間就顯示正在秒殺 之前的商品就往最后排 以此類(lèi)推

    類(lèi)似最開(kāi)始的11點(diǎn)順序是 11,12,13,14,15,16,17,18,19,20(點(diǎn));

    到12點(diǎn)的順序是 12,13,14,15,16,17,18,19,20,11(點(diǎn))

    到13點(diǎn)的順序是 13,14,15,16,17,18,19,20,12,11(點(diǎn))

    。。。。。

    最后的順序是 20,19,18,17,16,15,13,12,11(點(diǎn))

    這是后臺(tái)同學(xué)的那個(gè)純算法

    function show_test(hour)

      {

       p = ['13 dian','14 dian','15 dian ','16 dian','17 dian','18 dian','19 dian','20 dian'];

       console.log('原順序是');

       console.log(p);

       date = new Date();

       curHour = date.getHours();

       pos = curHour - 13;

       //pos = hour;

       s = '活動(dòng)'+ p[pos]+"正在進(jìn)行";

       console.log(s);

       desc = '當(dāng)前的順序應(yīng)該是';

       p.reverse();

       console.log(pos);

       tmp = []

       for(i = 0 ; i<pos; i++){

        tmp.push(p.pop());

       }

       p.reverse();

       p = p.concat(tmp.reverse());

       console.log(desc);

       console.log(p);

       console.log("\n\n");

      }

    調(diào)用

    var curHour=new Date().getHours();

    show_test(curHour);

    這個(gè)算法完美的實(shí)現(xiàn)所需要的那種需求所表述的樣子 可是問(wèn)題來(lái)了 怎么真正的轉(zhuǎn)換為頁(yè)面,于是琢磨之后我將它完美實(shí)現(xiàn);

    //首先定義一個(gè)包含了每個(gè)秒殺的商品的id和圖片的數(shù)組 img1是商品圖片 img2是秒殺時(shí)間 img3是商品描述

    var data=[

     { id:1,

     time:11,

     img1:"1.jpg",

     img2:"11.jpg",

     img3:"111.jpg"

     },

     { id:2,

     time:12,

     img1:"2.jpg",

     img2:"22.jpg",

     img3:"222.jpg"

     },

     { id:3,

     time:13,

     img1:"3.jpg",

     img2:"33.jpg",

     img3:"333.jpg"

     },

     { id:4,

     time:14,

     img1:"4.jpg",

     img2:"44.jpg",

     img3:"444.jpg"

     },

     { id:5,

     time:15,

     img1:"5.jpg",

     img2:"55.jpg",

     img3:"555.jpg"

     },

     { id:6,

     time:16,

     img1:"6.jpg",

     img2:"66.jpg",

     img3:"666.jpg"

     },

     { id:7,

     time:17,

     img1:"7.jpg",

     img2:"77.jpg",

     img3:"777.jpg"

     },

     { id:8,

     time:18,

     img1:"8.jpg",

     img2:"88.jpg",

     img3:"888.jpg"

     },

     { id:9,

     time:19,

     img1:"9.jpg",

     img2:"99.jpg",

     img3:"999.jpg"

     },

     { id:10,

     time:20,

     img1:"10.jpg",

     img2:"101.jpg",

     img3:"1010.jpg"

     }

     ];

    //對(duì)象數(shù)組排序 

    function compare(propertyName) { 

     return function (object1, object2) { 

     var value1 = object1[propertyName]; 

     var value2 = object2[propertyName]; 

     if (value2 < value1) { 

      return -1; 

     }else if (value2 > value1) { 

      return 1; 

     }else { 

      return 0; 

     } 

     } 

    //因?yàn)楝F(xiàn)在的數(shù)組已經(jīng)變成了一個(gè)復(fù)雜的數(shù)組 所以排序要用到根據(jù)對(duì)象的某個(gè)屬性排序這歌方法

    //這個(gè)方法在javascript高級(jí)程序設(shè)計(jì)里面有提到過(guò) 

     function itemShow(hour)

      {

       p=data;

       //當(dāng)前時(shí)間

       curHour = hour; 

       //對(duì)應(yīng)時(shí)間的數(shù)組下標(biāo)

       pos = curHour - 11;

       if(pos<=0){ //如果沒(méi)到11點(diǎn)就顯示最開(kāi)始的順序

        pos=0;

       }else if(pos>=9){//如果超過(guò)20點(diǎn) 就完全倒序

        pos=9

       }

       s = '活動(dòng)'+ p[pos]+"正在進(jìn)行";

       console.log(s);

       //根據(jù)數(shù)組里的 時(shí)間這個(gè)屬性反向排序

       p.reverse(compare("time"));

       console.log(pos);

       console.log(p);

       //定義一個(gè)臨時(shí)數(shù)組存放過(guò)時(shí)的商品項(xiàng)

       tmp = []

       for(i = 0 ; i<pos; i++){

        tmp.push(p.pop());

       }

       //將剩余的再反相排序

       p.reverse(compare("time"));

       //將未到秒殺時(shí)間的商品項(xiàng)目與已經(jīng)過(guò)期的數(shù)組鏈接

       p = p.concat(tmp.reverse(compare("time"))); //

       console.log(desc);

       console.log(p);

       for(var i=0;i<data.length;i++){

        if(i==0){//正在秒殺 

        $(".item").eq(0).append("<img src='"+p[i].img1+"' id="+p[i].id+">")

        $(".item").eq(0).append("<img src='"+"killsecond_now.jpg"+"'>")

        $(".item").eq(0).append("<img src='"+p[i].img3+"'>")

        }else{

        $(".item").eq(i).append("<img src='"+p[i].img1+"' id="+p[i].id+">")

        $(".item").eq(i).append("<img src='"+p[i].img2+"'>")

        $(".item").eq(i).append("<img src='"+p[i].img3+"'>")

        }

       } 

      }

    這樣就把算法實(shí)現(xiàn)成頁(yè)面展示了,希望大家可以有所收獲,理解javascript時(shí)間排序算法。

    更多信息請(qǐng)查看網(wǎng)絡(luò)編程
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢(xún)回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢(xún)?yōu)闇?zhǔn)!

    2026上岸·考公考編培訓(xùn)報(bào)班

    • 報(bào)班類(lèi)型
    • 姓名
    • 手機(jī)號(hào)
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢(xún) | 簡(jiǎn)要咨詢(xún)須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
    云南網(wǎng)警備案專(zhuān)用圖標(biāo)
    聯(lián)系電話(huà):0871-65099533/13759567129 獲取招聘考試信息及咨詢(xún)關(guān)注公眾號(hào):hfpxwx
    咨詢(xún)QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報(bào)警專(zhuān)用圖標(biāo)