Maison > interface Web > js tutoriel > jQuery implémente les effets spéciaux de la page Web de connexion quotidienne du calendrier

jQuery implémente les effets spéciaux de la page Web de connexion quotidienne du calendrier

小云云
Libérer: 2018-03-22 13:06:17
original
3035 Les gens l'ont consulté

Cet article partage principalement avec vous jQuery pour implémenter les effets spéciaux des pages Web d'enregistrement quotidien du calendrier. Il est principalement partagé avec vous sous forme de code. J'espère qu'il pourra aider tout le monde.

index.html

Code :

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

<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>jQuery简洁的日历签到插件 </title>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

 

<link rel="stylesheet" type="text/css" href="css/sign2.css">

 

<script type="text/javascript" src="js/jquery-1.8.1.min.js"></script>

<script type="text/javascript" src="js/calendar2.js"></script>

<script type="text/javascript">

$(function(){

  //ajax获取日历json数据

  var signList=[{"signDay":"09"},{"signDay":"11"},{"signDay":"12"},{"signDay":"13"}];

   calUtil.init(signList);

});

</script>

 

</head>

<body>

     

<p style="" id="calendar"></p>

 

<p id="sign_note" style="text-align:center;position: relative;padding: 15px;    font-size: 14px;">

    <span style="color:red;">*规则:本月签到21天即可领取奖品</span>

</p>

 

 

</body>

</html>

Copier après la connexion

calendar2.js

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

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

var calUtil = {

  //当前日历显示的年份

  showYear:2015,

  //当前日历显示的月份

  showMonth:1,

  //当前日历显示的天数

  showDays:1,

  eventName:"load",

  //初始化日历

  init:function(signList,s=&#39;&#39;){

    calUtil.setMonthAndDay();

    if (typeof(s) == &#39;undefined&#39;){

    }else{

      signList.splice(&#39;&#39;,&#39;&#39;,s);

    }

    calUtil.draw(signList);

    calUtil.bindEnvent(signList);

  },

  draw:function(signList){

    //绑定日历

    //alert(signList.length);

    console.log(signList);

    if(signList.length > 21){

      //alert(21);

      $("#sign_note").empty();

      $("#sign_note").html(&#39;<button class="sign_contener" type="button"><i class="fa fa-calendar-check-o" aria-hidden="true"></i> 已达标,获取1次抽奖</button>&#39;);

    }

    var str = calUtil.drawCal(calUtil.showYear,calUtil.showMonth,signList);

    $("#calendar").html(str);

    //绑定日历表头

    var calendarName=calUtil.showYear+"年"+calUtil.showMonth+"月";

    $(".calendar_month_span").html(calendarName); 

  },

  //绑定事件

  bindEnvent:function(signList){

    // //绑定上个月事件

    // $(".calendar_month_prev").click(function(){

    //   //ajax获取日历json数据

    //   //var signList=[{"signDay":"10"},{"signDay":"11"},{"signDay":"12"},{"signDay":"13"}];

    //   calUtil.eventName="prev";

    //   calUtil.init(signList);

    // });

    // //绑定下个月事件

    // $(".calendar_month_next").click(function(){

    //   //ajax获取日历json数据

    //   //var signList=[{"signDay":"10"},{"signDay":"11"},{"signDay":"12"},{"signDay":"13"}];

    //   calUtil.eventName="next";

    //   calUtil.init(signList);

    // });

     

    $(".calendar_record").click(function(){

      //ajax获取日历json数据

      //alert(typeof(signList)+"yxy");

        //var signList=[{"signDay":"10"},{"signDay":"11"},{"signDay":"12"},{"signDay":"13"}];

        //var tmp = {"signDay":$(this).html()};

      //if (typeof(signList) == &#39;undefined&#39;){

        //不做处理

      //}else{

      //  signList.splice(&#39;&#39;,&#39;&#39;,tmp);

      //  console.log(signList);

      //  calUtil.init(signList);

     // }

     //alert($(this).html());

    var tmp = {"signDay":$(this).html()};

    calUtil.init(signList,tmp);

      

       

       

    });

  },

  //获取当前选择的年月

  setMonthAndDay:function(){

    switch(calUtil.eventName)

    {

      case "load":

        var current = new Date();

        calUtil.showYear=current.getFullYear();

        calUtil.showMonth=current.getMonth() + 1;

        break;

      case "prev":

        var nowMonth=$(".calendar_month_span").html().split("年")[1].split("月")[0];

        calUtil.showMonth=parseInt(nowMonth)-1;

        if(calUtil.showMonth==0)

        {

            calUtil.showMonth=12;

            calUtil.showYear-=1;

        }

        break;

      case "next":

        var nowMonth=$(".calendar_month_span").html().split("年")[1].split("月")[0];

        calUtil.showMonth=parseInt(nowMonth)+1;

        if(calUtil.showMonth==13)

        {

            calUtil.showMonth=1;

            calUtil.showYear+=1;

        }

        break;

    }

  },

  getDaysInmonth : function(iMonth, iYear){

   var dPrevDate = new Date(iYear, iMonth, 0);

   return dPrevDate.getDate();

  },

  bulidCal : function(iYear, iMonth) {

   var aMonth = new Array();

   aMonth[0] = new Array(7);

   aMonth[1] = new Array(7);

   aMonth[2] = new Array(7);

   aMonth[3] = new Array(7);

   aMonth[4] = new Array(7);

   aMonth[5] = new Array(7);

   aMonth[6] = new Array(7);

   var dCalDate = new Date(iYear, iMonth - 1, 1);

   var iDayOfFirst = dCalDate.getDay();

   var iDaysInMonth = calUtil.getDaysInmonth(iMonth, iYear);

   var iVarDate = 1;

   var d, w;

   aMonth[0][0] = "日";

   aMonth[0][1] = "一";

   aMonth[0][2] = "二";

   aMonth[0][3] = "三";

   aMonth[0][4] = "四";

   aMonth[0][5] = "五";

   aMonth[0][6] = "六";

   for (d = iDayOfFirst; d < 7; d++) {

    aMonth[1][d] = iVarDate;

    iVarDate++;

   }

   for (w = 2; w < 7; w++) {

    for (d = 0; d < 7; d++) {

     if (iVarDate <= iDaysInMonth) {

      aMonth[w][d] = iVarDate;

      iVarDate++;

     }

    }

   }

   return aMonth;

  },

  ifHasSigned : function(signList,day){

   var signed = false;

   $.each(signList,function(index,item){

    if(item.signDay == day) {

     signed = true;

     return false;

    }

   });

   return signed ;

  },

  drawCal : function(iYear, iMonth ,signList) {

   var myMonth = calUtil.bulidCal(iYear, iMonth);

   var htmls = new Array();

   htmls.push("<p class=&#39;sign_main&#39; id=&#39;sign_layer&#39;>");

   htmls.push("<p class=&#39;sign_succ_calendar_title&#39;>");

   //htmls.push("<p class=&#39;calendar_month_next&#39;>下月</p>");

   //htmls.push("<p class=&#39;calendar_month_prev&#39;>上月</p>");

   htmls.push("<p class=&#39;calendar_month_span&#39;></p>");

   htmls.push("</p>");

   htmls.push("<p class=&#39;sign_equal&#39; id=&#39;sign_cal&#39;>");

   htmls.push("<p class=&#39;sign_row&#39;>");

   htmls.push("<p class=&#39;th_1 bold&#39;>" + myMonth[0][0] + "</p>");

   htmls.push("<p class=&#39;th_2 bold&#39;>" + myMonth[0][1] + "</p>");

   htmls.push("<p class=&#39;th_3 bold&#39;>" + myMonth[0][2] + "</p>");

   htmls.push("<p class=&#39;th_4 bold&#39;>" + myMonth[0][3] + "</p>");

   htmls.push("<p class=&#39;th_5 bold&#39;>" + myMonth[0][4] + "</p>");

   htmls.push("<p class=&#39;th_6 bold&#39;>" + myMonth[0][5] + "</p>");

   htmls.push("<p class=&#39;th_7 bold&#39;>" + myMonth[0][6] + "</p>");

   htmls.push("</p>");

   var d, w;

   for (w = 1; w < 6; w++) {

    htmls.push("<p class=&#39;sign_row&#39;>");

    for (d = 0; d < 7; d++) {

 

     var ifHasSigned = calUtil.ifHasSigned(signList,myMonth[w][d]);

     console.log("001:"+ifHasSigned);

     if(ifHasSigned && typeof(myMonth[w][d]) != &#39;undefined&#39;){

      htmls.push("<p class=&#39;td_"+d+" on&#39;>" + (!isNaN(myMonth[w][d]) ? myMonth[w][d] : " ") + "</p>");

     } else {

      htmls.push("<p class=&#39;td_"+d+" calendar_record&#39;>" + (!isNaN(myMonth[w][d]) ? myMonth[w][d] : " ") + "</p>");

     }

    }

    htmls.push("</p>");

   }

   htmls.push("</p>");

   htmls.push("</p>");

   htmls.push("</p>");

   return htmls.join(&#39;&#39;);

  }

};

Copier après la connexion

sign2.css

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

88

89

90

91

92

93

94

95

96

97

98

99

.singer_r_img {

    display: block;

    line-height: 45px;

    background: url(../images/sing_week.gif) right 2px no-repeat;

    vertical-align: middle;

    margin-bottom: -10px;

    text-decoration: none;

}

 

.singer_r_img:hover {

    background-position: right -53px;

    text-decoration: none;

}

 

.singer_r_img span {

    margin-left: 14px;

    font-size: 16px;

    font-family: &#39;Hiragino Sans GB&#39;,&#39;Microsoft YaHei&#39;,sans-serif !important;

    font-weight: 700;

    color: #165379;

}

 

.singer_r_img.current {

    background: url(images/sing_sing.gif) no-repeat 0 2px;

    border: 0;

    text-decoration: none;

}

 

 

.sign_succ_calendar_title {

    text-align: center;

    /*width: 398px;*/

    border-left: 1px solid #e3e3e3;

    border-right: 1px solid #e3e3e3;

    background: #fff;

}

 

.sign_main {

    /*width: 400px;*/

/**background-color: #FBFEFE;**/

    border-top: 1px solid #e3e3e3;

    font-family: "Microsoft YaHei",SimHei;

    display: block;

}

 

.calendar_month_span {

    display: inline;

    line-height: 40px;

    font-size: 16px;

    color: #656565;

    letter-spacing: 2px;

    font-weight: bold;

}

 

.sign_equal {

    display:table;

    border-collapse:separate;

    width: 100%;

}

 

.sign_row {

    display:table-row;

}

.sign_row p {

    display:table-cell;

    width:14.3%;

    border-top: 1px solid #e3e3e3;

    /*border-bottom: 1px solid #e3e3e3;*/

    border-left: 1px solid #e3e3e3;

    height: 40px;

    text-align: center;

    line-height: 40px;

}

.sign_row .bold{

    font-weight: bold;

}

.sign_row p:last-child {

    border-right: 1px solid #e3e3e3;

}

.sign_equal .sign_row:last-child p{

    border-bottom: 1px solid #e3e3e3;

}

.sign_equal .on {

    background: url(../images/sign_have.gif) no-repeat center;

}

 

.sign_contener,.sign_contener:visited {

    line-height: 30px;

    background: #00a0e9;

    border: none;

    color: white;

    border-radius: 30px;

    padding: 0 10px;

    font-size: 16px;

}

 

.sign_contener:hover{

    background-color: red;

}

Copier après la connexion

Recommandations associées :

Articles recommandés sur la connexion au calendrier

php+mysql+jquery pour implémenter la connexion au calendrier

Implémenter la fonction d'enregistrement du calendrier basée sur jquery_jquery

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal