4
4
define ( function ( require ) {
5
5
var $ = require ( 'jquery' ) ;
6
6
var base = require ( 'base' ) ;
7
-
8
7
/*生成目录*/
8
+
9
9
var $nav = $ ( '#nav' ) ,
10
10
$section = $ ( 'section.wrap' ) ,
11
11
_nav ;
@@ -23,71 +23,72 @@ define(function(require) {
23
23
$nav . html ( _nav ) ;
24
24
25
25
/*生成模块目录*/
26
- var $modMenu = $ ( '#modules_index' ) ,
27
- $modItems = $ ( '#modules_list' ) ,
28
- _mod ;
29
- _mod = '<ul class="full-row">' ;
30
- $modItems . find ( 'tr[id]' ) . each ( function ( i , e ) {
31
- var _modName = $ ( e ) . attr ( 'id' ) ;
32
- _mod += '<li class="span-4 smal-8"><a href="#' + _modName + '">' + _modName + '</a></li>' ;
33
- } ) ;
34
- _mod += '</ul>' ;
35
- $modMenu . html ( _mod ) ;
36
-
37
- //查看demo
38
- $ ( '#modules_list' ) . find ( 'tr' ) . each ( function ( i , e ) {
39
- if ( $ ( e ) . children ( 'td:last' ) . find ( 'pre' ) . length > 1 ) {
40
- $ ( e ) . children ( 'td:last' ) . append ( '<p><a href="javascript:;" target="_blank" class="viewDemo">viewDemo</a></p>' ) ;
26
+ var createNavfromTable = function ( nav , table ) {
27
+ var $modMenu = nav ,
28
+ $modItems = table ,
29
+ _mod ;
30
+ _mod = '<ul class="full-row">' ;
31
+ $modItems . find ( 'dt[id]' ) . each ( function ( i , e ) {
32
+ var _modName = $ ( e ) . attr ( 'id' ) ,
33
+ _cont = $ ( e ) . next ( 'dd' ) ;
34
+ _mod += '<li class="span-4 smal-6"><a href="#' + encodeURI ( _modName ) + '" class="el">' + _modName + '</a></li>' ;
35
+ //代码预览
36
+ if ( _cont . length && _cont . find ( 'pre' ) . length > 1 ) {
37
+ _cont . append ( '<p><a href="javascript:;" target="_blank" class="LiveDemo"><i class="ion"></i> LiveDemo </a></p>' ) ;
41
38
}
42
-
43
- } ) . end ( )
44
- . on ( 'click' , '.viewDemo' , function ( e ) {
39
+ } ) . end ( ) . on ( 'click' , '.LiveDemo' , function ( e ) {
45
40
e . preventDefault ( ) ;
46
- window . DemoTitle = $ ( this ) . parents ( 'tr ' ) . find ( 'td' ) . eq ( 0 ) . text ( ) ;
47
- window . DemoHtml = $ ( this ) . parents ( 'td ' ) . find ( 'pre' ) . eq ( - 2 ) . text ( ) ;
48
- window . DemoJs = $ ( this ) . parents ( 'td ' ) . find ( 'pre' ) . eq ( - 1 ) . text ( ) ;
49
- window . open ( 'demo .html' ) ;
41
+ window . DemoTitle = $ ( this ) . parents ( 'dd ' ) . prev ( 'dt[id]' ) . text ( ) ;
42
+ window . DemoHtml = $ ( this ) . parents ( 'dd ' ) . find ( 'pre' ) . eq ( - 2 ) . text ( ) ;
43
+ window . DemoJs = $ ( this ) . parents ( 'dd ' ) . find ( 'pre' ) . eq ( - 1 ) . text ( ) ;
44
+ window . open ( 'run .html?page=' + window . DemoTitle ) ;
50
45
} ) ;
46
+ _mod += '</ul>' ;
47
+ $modMenu . html ( _mod ) ;
48
+ } ;
49
+
50
+ createNavfromTable ( $ ( '#component_index' ) , $ ( '#component_list' ) ) ;
51
+ createNavfromTable ( $ ( '#modules_index' ) , $ ( '#modules_list' ) ) ;
51
52
52
53
/*代码着色*/
53
54
require ( 'copy' ) ;
54
55
require ( 'box' ) ;
55
- var copybtn = $ ( '<div id="d_clip_button">Copy</div>' ) . appendTo ( 'body' ) ;
56
+ var copybtn = $ ( '<div id="d_clip_button"><i class="ion"></i> Copy</div>' ) . appendTo ( 'body' ) ;
56
57
var copyCode = '' ;
57
58
copybtn . css ( {
58
59
position : 'absolute' ,
59
60
padding : '3px 14px' ,
60
- border : '1px solid #ccc' ,
61
- background : '#fff' ,
62
61
top : '-999px' ,
63
62
zIndex : 999 ,
64
- borderRadius : '3px'
63
+ color :'#61ce3c' ,
64
+ border :'1px solid #61ce3c' ,
65
+ borderRadius :'2px'
65
66
} ) ;
66
67
var showCopyBtn = function ( e ) {
67
68
var pre = $ ( e . target ) . is ( 'pre' ) ? $ ( e . target ) : $ ( e . target ) . parents ( 'pre' ) ;
68
- if ( ! pre . data ( 'oncopy' ) ) {
69
+ if ( ! pre . data ( 'oncopy' ) ) {
69
70
copyCode = pre . data ( 'code' ) ;
70
71
copybtn . css ( {
71
72
left : pre . offset ( ) . left + ( pre . outerWidth ( true ) - copybtn . outerWidth ( true ) ) ,
72
73
top : pre . offset ( ) . top
73
74
} ) . show ( ) . zclip ( 'remove' ) . zclip ( {
74
75
copy : copyCode ,
75
76
afterCopy : function ( ) {
76
- $ . box . msg ( '复制成功' , {
77
- delay :1000
77
+ $ . box . msg ( '复制成功' , {
78
+ delay : 1000
78
79
} ) ;
79
80
}
80
81
} ) ;
81
- $ ( 'pre' ) . data ( 'oncopy' , false ) ;
82
- pre . data ( 'oncopy' , true ) ;
82
+ $ ( 'pre' ) . data ( 'oncopy' , false ) ;
83
+ pre . data ( 'oncopy' , true ) ;
83
84
}
84
85
} ;
85
86
86
87
if ( ! base . browser . isMobile ) {
87
88
if ( base . browser . ie && base . browser . ie < 9 ) {
88
89
$ . box . msg ( '您的浏览器版本太低,无法启用代码高亮和demo演示,建议使用chrome或360浏览器。' , {
89
90
color : "danger" ,
90
- delay :3000
91
+ delay : 3000
91
92
} ) ;
92
93
} else {
93
94
require . async ( 'lib/highlight/highlight.pack' , function ( hl ) {
@@ -102,6 +103,10 @@ define(function(require) {
102
103
$ ( 'body' ) . on ( 'mouseenter' , 'pre' , showCopyBtn ) ;
103
104
} ) ;
104
105
}
106
+ } else {
107
+ //移动端
108
+ $ ( 'pre code' ) . css ( 'display' , 'block' ) ;
109
+ $ ( 'body' ) . addClass ( 'Mobile' ) ;
105
110
}
106
111
107
112
if ( window . console ) {
@@ -112,5 +117,4 @@ define(function(require) {
112
117
}
113
118
}
114
119
115
-
116
120
} ) ;
0 commit comments