1
+ ! function ( $ ) {
2
+ "use strict" ;
3
+ $ ( document ) . pjax ( 'a[target!=_blank]' , '#global' , '#longining' , '#longinreg' , {
4
+ fragment : '#global,#longining,#longinreg' ,
5
+ timeout : 6000
6
+ } ) ;
7
+ $ ( document ) . on ( 'pjax:timeout' ,
8
+ function ( ) {
9
+ $ ( '#begin' ) . fadeOut ( ) ;
10
+ $ ( '#loading' ) . delay ( 100 ) . fadeOut ( 'slow' ) ;
11
+ } ) ;
12
+ $ ( document ) . on ( 'pjax:click' ,
13
+ function ( ) {
14
+ $ ( '#begin' ) . show ( ) ;
15
+ $ ( '#loading' ) . show ( ) ;
16
+ } ) ;
17
+ $ ( document ) . on ( 'pjax:complete' ,
18
+ function ( ) {
19
+ $ ( '#begin' ) . fadeOut ( ) ;
20
+ $ ( '#loading' ) . delay ( 100 ) . fadeOut ( 'slow' ) ;
21
+ $ ( "body" ) . removeClass ( 'aside-open' ) ;
22
+ $ ( ".ham" ) . removeClass ( 'active' ) ;
23
+ $ ( "body, html" ) . removeClass ( 'overflow-hidden' ) ;
24
+ if ( $ ( '.prettyprint' ) . length ) {
25
+ window . prettyPrint && prettyPrint ( ) ;
26
+ } ;
27
+ ajaxComt ( ) ;
28
+ } ) ;
29
+ $ ( document ) . ready ( function ( ) {
30
+ $ ( '#begin' ) . fadeOut ( ) ;
31
+ $ ( '#loading' ) . delay ( 200 ) . fadeOut ( 'slow' ) ;
32
+ } ) ;
33
+ $ ( 'a[href="#search"]' ) . on ( 'click' ,
34
+ function ( event ) {
35
+ $ ( '#search' ) . addClass ( 'open' ) ;
36
+ $ ( '#search > form > input[type="search"]' ) . focus ( ) ;
37
+ return false ;
38
+ } ) ;
39
+ $ ( '#search, #search button.close' ) . on ( 'click keyup' ,
40
+ function ( event ) {
41
+ if ( event . target == this || event . target . className == 'close' || event . keyCode == 27 ) {
42
+ $ ( this ) . removeClass ( 'open' ) ;
43
+ }
44
+ } ) ;
45
+ $ ( document ) . ready ( function ( ) {
46
+ $ ( '#comment-author-info' ) . hide ( ) ;
47
+ } ) ;
48
+ $ ( "#doprofile" ) . click ( function ( event ) {
49
+ var homeUrl = document . location . href . match ( / h t t p : \/ \/ ( [ ^ \/ ] + ) \/ / i) [ 0 ] ;
50
+ var reg = / ^ ( [ a - z A - Z 0 - 9 _ - ] ) + @ ( [ a - z A - Z 0 - 9 _ - ] ) + ( ( \. [ a - z A - Z 0 - 9 _ - ] { 2 , 3 } ) { 1 , 2 } ) $ / ;
51
+ if ( $ ( "#mm_name" ) . val ( ) . trim ( ) . length == 0 ) {
52
+ $ ( '#tipsnode' ) . modal ( ) ;
53
+ $ ( "#tip1" ) . html ( "<span class=\"badge badge-danger\">请输入昵称</span>" ) ;
54
+ } else if ( strlen ( $ ( "#mm_name" ) . val ( ) . trim ( ) ) < 4 ) {
55
+ $ ( '#tipsnode' ) . modal ( ) ;
56
+ $ ( "#tip1" ) . html ( "<span class=\"badge badge-danger\">昵称长度至少为4位</span>" ) ;
57
+ } else if ( ! reg . test ( $ ( "#mm_mail" ) . val ( ) . trim ( ) ) ) {
58
+ $ ( '#tipsnode' ) . modal ( ) ;
59
+ $ ( "#tip1" ) . html ( "<span class=\"badge badge-danger\">法请输入正确邮箱,以免忘记密码时无找回</span>" ) ;
60
+ } else {
61
+ $ ( "#doprofile" ) . val ( "保存中..." ) ;
62
+ $ ( '#result' ) . html ( '<img src="' + homeUrl + '/wp-content/themes/boxmoe/assets/images/loader.gif" class="loader" />' ) . fadeIn ( ) ;
63
+ $ . ajax ( {
64
+ type : "post" ,
65
+ //async: false,
66
+ url : homeUrl + "/wp-content/plugins/erphpdown/admin/action/ajax-profile.php" ,
67
+ data : "do=profile&mm_name=" + $ ( "#mm_name" ) . val ( ) + "&mm_mail=" + $ ( "#mm_mail" ) . val ( ) + "&mm_url=" + $ ( "#mm_url" ) . val ( ) + "&mm_desc=" + $ ( "#mm_desc" ) . val ( ) ,
68
+ //contentType: "application/json; charset=utf-8",
69
+ dataType : "text" ,
70
+ success : function ( data ) {
71
+ $ ( '.loader' ) . remove ( ) ;
72
+ $ ( '#tipsnode' ) . modal ( ) ;
73
+ $ ( "#tip1" ) . html ( "<span class=\"badge badge-success\">恭喜!修改信息成功</span>" ) ;
74
+ $ ( "#doprofile" ) . val ( "保存" ) ;
75
+
76
+ } ,
77
+ error : function ( ) {
78
+ $ ( '.loader' ) . remove ( ) ;
79
+ $ ( '#tipsnode' ) . modal ( ) ;
80
+ $ ( "#tip1" ) . html ( "<span class=\"badge badge-danger\">抱歉!修改失败</span>" ) ;
81
+ $ ( "#doprofile" ) . val ( "保存" ) ;
82
+ }
83
+ } ) ;
84
+ }
85
+ } ) ;
86
+
87
+ $ ( "#dopassword" ) . click ( function ( ) {
88
+ var homeUrl = document . location . href . match ( / h t t p : \/ \/ ( [ ^ \/ ] + ) \/ / i) [ 0 ] ;
89
+ if ( $ ( "#mm_pass_new" ) . val ( ) . trim ( ) . length == 0 ) {
90
+ $ ( '#tipsnode' ) . modal ( ) ;
91
+ $ ( "#tip1" ) . html ( "<span class=\"badge badge-danger\">请输入新密码</span>" ) ;
92
+ } else if ( strlen ( $ ( "#mm_pass_new" ) . val ( ) . trim ( ) ) < 6 ) {
93
+ $ ( '#tipsnode' ) . modal ( ) ;
94
+ $ ( "#tip1" ) . html ( "<span class=\"badge badge-danger\">密码长度至少为6位</span>" ) ;
95
+ } else if ( $ ( "#mm_pass_new2" ) . val ( ) . trim ( ) != $ ( "#mm_pass_new" ) . val ( ) . trim ( ) ) {
96
+ $ ( '#tipsnode' ) . modal ( ) ;
97
+ $ ( "#tip1" ) . html ( "<span class=\"badge badge-danger\">两次密码不一致</span>" ) ;
98
+ } else {
99
+ $ ( '#result' ) . html ( '<img src="' + homeUrl + '/wp-content/themes/boxmoe/assets/images/loader.gif" class="loader" />' ) . fadeIn ( ) ;
100
+ $ . ajax ( {
101
+ type : "post" ,
102
+ //async: false,
103
+ url : homeUrl + "/wp-content/plugins/erphpdown/admin/action/ajax-profile.php" ,
104
+ data : "do=password&mm_usrname=" + $ ( "#mm_usrname" ) . val ( ) + "&mm_pass_old=" + $ ( "#mm_pass_old" ) . val ( ) + "&mm_pass_new=" + $ ( "#mm_pass_new" ) . val ( ) + "&mm_pass_new2=" + $ ( "#mm_pass_new2" ) . val ( ) ,
105
+ //contentType: "application/json; charset=utf-8",
106
+ dataType : "text" ,
107
+ success : function ( data ) {
108
+ $ ( '.loader' ) . remove ( ) ;
109
+ $ ( '#tipsnode' ) . modal ( ) ;
110
+ $ ( "#tip1" ) . html ( "<span class=\"badge badge-success\">密码修改成功</span>" ) ;
111
+ //alert(data);
112
+ } ,
113
+ error : function ( ) {
114
+ $ ( '.loader' ) . remove ( ) ;
115
+ $ ( '#tipsnode' ) . modal ( ) ;
116
+ $ ( "#tip1" ) . html ( "<span class=\"badge badge-danger\">密码修改失败</span>" ) ;
117
+ }
118
+ } ) ;
119
+ }
120
+ } ) ;
121
+
122
+ function strlen ( str ) {
123
+ var len = 0 ;
124
+ for ( var i = 0 ; i < str . length ; i ++ ) {
125
+ var c = str . charCodeAt ( i ) ;
126
+ if ( ( c >= 0x0001 && c <= 0x007e ) || ( 0xff60 <= c && c <= 0xff9f ) ) {
127
+ len ++ ;
128
+ } else {
129
+ len += 2 ;
130
+ }
131
+ }
132
+ return len ;
133
+ }
134
+ /* ---------------------------------------------- /*
135
+ * tooltip
136
+ /* ---------------------------------------------- */
137
+
138
+ $ ( '[data-toggle="tooltip"]' ) . tooltip ( ) ;
139
+
140
+ /* ---------------------------------------------- /*
141
+ * lolijump
142
+ /* ---------------------------------------------- */
143
+ $ ( window ) . scroll ( function ( ) {
144
+ if ( $ ( window ) . scrollTop ( ) >= 100 ) {
145
+ $ ( "#lolijump" ) . fadeIn ( ) ;
146
+ } else {
147
+
148
+ $ ( "#lolijump" ) . fadeOut ( ) ;
149
+ }
150
+ } ) ;
151
+ $ ( "#lolijump" ) . click ( function ( event ) {
152
+ $ ( 'html,body' ) . animate ( {
153
+ scrollTop : 0
154
+ } ,
155
+ 500 ) ;
156
+ return false ;
157
+ } ) ;
158
+ /* ---------------------------------------------- /*
159
+ * prettyPrint
160
+ /* ---------------------------------------------- */
161
+ if ( $ ( '.prettyprint' ) . length ) {
162
+ window . prettyPrint && prettyPrint ( ) ;
163
+ }
164
+
165
+ /* ---------------------------------------------- /*
166
+ * Popover
167
+ /* ---------------------------------------------- */
168
+ $ ( '[data-toggle="popover"]' ) . each ( function ( ) {
169
+ var popoverClass = '' ;
170
+ if ( $ ( this ) . data ( 'color' ) ) {
171
+ popoverClass = 'popover-' + $ ( this ) . data ( 'color' ) ;
172
+ }
173
+ $ ( this ) . popover ( {
174
+ trigger : 'focus' ,
175
+ template : '<div class="popover ' + popoverClass + '" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'
176
+ } )
177
+ } ) ;
178
+ /* ---------------------------------------------- /*
179
+ * Additional .focus class on form-groups
180
+ /* ---------------------------------------------- */
181
+ $ ( '.form-control' ) . on ( 'focus blur' ,
182
+ function ( e ) {
183
+ $ ( this ) . parents ( '.comment-form-group' ) . toggleClass ( 'focused' , ( e . type === 'focus' || this . value . length > 0 ) ) ;
184
+ } ) . trigger ( 'blur' ) ;
185
+
186
+ /* ---------------------------------------------- /*
187
+ * input-slider-range
188
+ /* ---------------------------------------------- */
189
+
190
+ if ( $ ( "#input-slider-range" ) [ 0 ] ) {
191
+ var c = document . getElementById ( "input-slider-range" ) ,
192
+ d = document . getElementById ( "input-slider-range-value-low" ) ,
193
+ e = document . getElementById ( "input-slider-range-value-high" ) ,
194
+ f = [ d , e ] ;
195
+
196
+ noUiSlider . create ( c , {
197
+ start : [ parseInt ( d . getAttribute ( 'data-range-value-low' ) ) , parseInt ( e . getAttribute ( 'data-range-value-high' ) ) ] ,
198
+ connect : ! 0 ,
199
+ range : {
200
+ min : parseInt ( c . getAttribute ( 'data-range-value-min' ) ) ,
201
+ max : parseInt ( c . getAttribute ( 'data-range-value-max' ) )
202
+ }
203
+ } ) ,
204
+ c . noUiSlider . on ( "update" ,
205
+ function ( a , b ) {
206
+ f [ b ] . textContent = a [ b ]
207
+ } )
208
+ }
209
+
210
+ /* ---------------------------------------------- /*
211
+ * viewport
212
+ /* ---------------------------------------------- */
213
+ $ ( '[data-toggle="on-screen"]' ) [ 0 ] && $ ( '[data-toggle="on-screen"]' ) . onScreen ( {
214
+ container : window ,
215
+ direction : 'vertical' ,
216
+ doIn : function ( ) {
217
+ //alert();
218
+ } ,
219
+ doOut : function ( ) { } ,
220
+ tolerance : 200 ,
221
+ throttle : 50 ,
222
+ toggleClass : 'on-screen' ,
223
+ debug : false
224
+ } ) ;
225
+
226
+ $ ( '[data-toggle="scroll"]' ) . on ( 'click' ,
227
+ function ( event ) {
228
+ var hash = $ ( this ) . attr ( 'href' ) ;
229
+ var offset = $ ( this ) . data ( 'offset' ) ? $ ( this ) . data ( 'offset' ) : 0 ;
230
+
231
+ // Animate scroll to the selected section
232
+ $ ( 'html, body' ) . stop ( true , true ) . animate ( {
233
+ scrollTop : $ ( hash ) . offset ( ) . top - offset
234
+ } ,
235
+ 600 ) ;
236
+
237
+ event . preventDefault ( ) ;
238
+ } ) ;
239
+
240
+ /* ---------------------------------------------- /*
241
+ * Section Scroll - Navbar
242
+ /* ---------------------------------------------- */
243
+
244
+ $ ( '.navbar-toggler' ) . on ( 'click' ,
245
+ function ( ) {
246
+ $ ( 'html, body' ) . animate ( {
247
+ scrollTop : 0
248
+ } ) ;
249
+ $ ( "body" ) . toggleClass ( 'aside-open' ) ;
250
+ $ ( ".ham" ) . toggleClass ( 'active' ) ;
251
+ $ ( "body, html" ) . toggleClass ( 'overflow-hidden' ) ;
252
+ } ) ;
253
+
254
+ /* ---------------------------------------------- /*
255
+ * Scroll Spy - init
256
+ /* ---------------------------------------------- */
257
+
258
+ $ ( "#navbarCollapse" ) . scrollspy ( {
259
+ offset : 20
260
+ } ) ;
261
+
262
+ /* ---------------------------------------------- /*
263
+ * AnimateOnScroll - Init
264
+ /* ---------------------------------------------- */
265
+
266
+ var wow = new WOW ( {
267
+ boxClass : 'wow' ,
268
+ // animated element css class (default is wow)
269
+ animateClass : 'animated' ,
270
+ // animation css class (default is animated)
271
+ offset : 0 ,
272
+ // distance to the element when triggering the animation (default is 0)
273
+ mobile : true ,
274
+ // trigger animations on mobile devices (default is true)
275
+ live : true ,
276
+ // act on asynchronously loaded content (default is true)
277
+ callback : function ( box ) {
278
+ // the callback is fired every time an animation is started
279
+ // the argument that is passed in is the DOM node being animated
280
+ } ,
281
+ scrollContainer : null ,
282
+ // optional scroll container selector, otherwise use window,
283
+ resetAnimation : true ,
284
+ // reset animation on end (default is true)
285
+ } ) ;
286
+ wow . init ( ) ;
287
+
288
+ /* ---------------------------------------------- /*
289
+ * Initialize shuffle plugin
290
+ /* ---------------------------------------------- */
291
+
292
+ var $portfolioContainer = $ ( '.list-items-container' ) ;
293
+
294
+ $ ( '#filter li' ) . on ( 'click' ,
295
+ function ( e ) {
296
+ e . preventDefault ( ) ;
297
+
298
+ $ ( '#filter li' ) . removeClass ( 'active' ) ;
299
+ $ ( this ) . addClass ( 'active' ) ;
300
+
301
+ var group = $ ( this ) . attr ( 'data-group' ) ;
302
+ var groupName = $ ( this ) . attr ( 'data-group' ) ;
303
+
304
+ $portfolioContainer . shuffle ( 'shuffle' , groupName ) ;
305
+ } ) ;
306
+
307
+ /* ---------------------------------------------- /*
308
+ * Parallax - Init
309
+ /* ---------------------------------------------- */
310
+
311
+ $ ( ".js-height-full" ) . height ( $ ( window ) . height ( ) ) ;
312
+
313
+ $ ( window ) . resize ( function ( ) {
314
+ $ ( ".js-height-full" ) . height ( $ ( window ) . height ( ) ) ;
315
+ } ) ;
316
+
317
+ if ( / A n d r o i d | w e b O S | i P h o n e | i P a d | i P o d | B l a c k B e r r y / i. test ( navigator . userAgent ) ) {
318
+ $ ( '#home' ) . css ( {
319
+ 'background-attachment' : 'scroll'
320
+ } ) ;
321
+ } else {
322
+ $ ( '#home' ) . parallax ( '50%' , - 0.3 ) ;
323
+ }
324
+
325
+ if ( $ ( '.section-home' ) . length ) {
326
+ if ( / A n d r o i d | w e b O S | i P h o n e | i P a d | i P o d | B l a c k B e r r y / i. test ( navigator . userAgent ) ) {
327
+ $ ( '.swiper-slide' ) . css ( {
328
+ 'background-attachment' : 'scroll'
329
+ } ) ;
330
+ } else {
331
+ $ ( '.swiper-slide' ) . parallax ( '50%' , - 0.3 ) ;
332
+ }
333
+ }
334
+
335
+ } ( window . jQuery ) ;
0 commit comments