首頁 > web前端 > js教程 > 基於jQuery Cookie實現的防止刷新的線上考試倒數_jquery

基於jQuery Cookie實現的防止刷新的線上考試倒數_jquery

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-05-16 15:54:02
原創
1610 人瀏覽過

基於jQuery Cookie實現的防止刷新的線上考試倒數

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

$(function() {

      var _minute = parseInt("${exampaper.paperTime }");

      var _expiresHours = _minute * 60 * 1000;

         

      if(!hasSetCookie()){

        addCookie("${examinee.examineeId}", _expiresHours, _expiresHours);

      }

      settime($("#remainTime"));

    });

    function hasSetCookie(){

      var strCookie = document.cookie;

      var arrCookie = strCookie.split("; ");

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

        var arr = arrCookie[i].split("=");

        if (arr[0] == "${examinee.examineeId}") {

          return true;

        }

      };

      return false;

    }

    //开始倒计时

    function settime(remainTime) {

      var _time = getCookieValue("871d31bacfd4451484c5f70f8860c2a9");

      var _countdown = parseInt(getCookieValue("${examinee.examineeId}")) / 1000;

        

      if (_countdown <= 0) {

        alert("考试时间到!");

        endExam();

      } else {

        var _second = _countdown % 60;

        var _minute = parseInt(_countdown / 60) % 60;

        var _hour = parseInt(parseInt(_countdown / 60) / 60);

  

        if (_hour < 10)

          _hour = "0" + _hour.toString();

        if (_second < 10)

          _second = "0" + _second.toString();

        if (_minute < 10)

          _minute = "0" + _minute.toString();

  

        remainTime.html(_hour + ":" + _minute + ":" + _second);

        _countdown--;

        editCookie("${examinee.examineeId}", _countdown * 1000, _countdown * 1000);

      }

      //每1000毫秒执行一次

      setTimeout(function() {

        settime(remainTime);

      }, 1000);

    };

  

    //时添加cookie

    function addCookie(name, value, expiresHours) {

      var cookieString = name + "=" + escape(value); //escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。

      //判断是否设置过期时间,0代表关闭浏览器时失效

      if (expiresHours > 0) {

        var date = new Date();

        date.setTime(date.getTime() + expiresHours * 1000);

        cookieString = cookieString + ";expires=" + date.toUTCString();

      }

      document.cookie = cookieString;

    }

  

    //修改cookie的值

    function editCookie(name, value, expiresHours) {

      var cookieString = name + "=" + escape(value);

      if (expiresHours > 0) {

        var date = new Date();

        date.setTime(date.getTime() + expiresHours * 1000); //单位是毫秒

        cookieString = cookieString + ";expires=" + date.toGMTString();

      }

      document.cookie = cookieString;

    }

  

    //根据名字获取cookie的值

    function getCookieValue(name) {

      var strCookie = document.cookie;

      var arrCookie = strCookie.split("; ");

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

        var arr = arrCookie[i].split("=");

        if (arr[0] == name) {

          return unescape(arr[1]);

          break;

        } else {

          continue;

        };

      };

    }

登入後複製

以上所述就是本文的全部內容了,希望大家能夠喜歡。

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板