FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
JavaScript-Learning/angular/interval/example.html at master · xiazhe/JavaScript-Learning · GitHub
xiazhe
/
JavaScript-Learning
Public
Notifications
You must be signed in to change notification settings
Fork
3
Star
4
Code
Issues
0
Pull requests
1
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
JavaScript-Learning
/
angular
/
interval
/
example.html
Copy path
More file actions
More file actions
Latest commit
History
History
History
94 lines (84 loc) · 3.66 KB
Breadcrumbs
JavaScript-Learning
/
angular
/
interval
/
example.html
Copy path
File metadata and controls
94 lines (84 loc) · 3.66 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
<!DOCTYPE html
>
<
html
ng-app
="
intervalExample
"
>
<
head
>
<
meta
http-equiv
="
Content-Type
"
content
="
text/html; charset=utf-8
"
/>
<
title
>
interval example
</
title
>
<
meta
charset
="
utf-8
"
/>
<
script
src
="
../angular.min.js
"
>
</
script
>
<
script
>
angular
.
module
(
'intervalExample'
,
[
]
)
.
controller
(
'ExampleController'
,
[
'$scope'
,
'$interval'
,
function
(
$scope
,
$interval
)
{
$scope
.
format
=
'M/d/yy h:mm:ss a'
;
$scope
.
blood_1
=
100
;
$scope
.
blood_2
=
120
;
var
stop
;
$scope
.
fight
=
function
(
)
{
// Don't start a new fight if we are already fighting
if
(
angular
.
isDefined
(
stop
)
)
return
;
stop
=
$interval
(
function
(
)
{
if
(
$scope
.
blood_1
>
0
&&
$scope
.
blood_2
>
0
)
{
$scope
.
blood_1
=
$scope
.
blood_1
-
3
;
$scope
.
blood_2
=
$scope
.
blood_2
-
4
;
}
else
{
$scope
.
stopFight
(
)
;
}
}
,
100
)
;
}
;
$scope
.
stopFight
=
function
(
)
{
if
(
angular
.
isDefined
(
stop
)
)
{
$interval
.
cancel
(
stop
)
;
stop
=
undefined
;
}
}
;
$scope
.
resetFight
=
function
(
)
{
$scope
.
blood_1
=
100
;
$scope
.
blood_2
=
120
;
}
;
$scope
.
$on
(
'$destroy'
,
function
(
)
{
// Make sure that the interval is destroyed too
$scope
.
stopFight
(
)
;
}
)
;
}
]
)
// Register the 'myCurrentTime' directive factory method.
// We inject $interval and dateFilter service since the factory method is DI.
.
directive
(
'myCurrentTime'
,
[
'$interval'
,
'dateFilter'
,
function
(
$interval
,
dateFilter
)
{
// return the directive link function. (compile function not needed)
return
function
(
scope
,
element
,
attrs
)
{
var
format
,
// date format
stopTime
;
// so that we can cancel the time updates
// used to update the UI
function
updateTime
(
)
{
element
.
text
(
dateFilter
(
new
Date
(
)
,
format
)
)
;
}
// watch the expression, and update the UI on change.
scope
.
$watch
(
attrs
.
myCurrentTime
,
function
(
value
)
{
format
=
value
;
updateTime
(
)
;
}
)
;
stopTime
=
$interval
(
updateTime
,
1000
)
;
// listen on DOM destroy (removal) event, and cancel the next UI update
// to prevent updating time after the DOM element was removed.
element
.
on
(
'$destroy'
,
function
(
)
{
$interval
.
cancel
(
stopTime
)
;
}
)
;
}
}
]
)
;
</
script
>
</
head
>
<
body
>
<
div
>
<
div
ng-controller
="
ExampleController
"
>
<
label
>
Date format:
<
input
ng-model
="
format
"
>
</
label
>
<
hr
/>
Current time is:
<
span
my-current-time
="
format
"
>
</
span
>
<
hr
/>
Blood 1 :
<
font
color
='
red
'
>
{{blood_1}}
</
font
>
Blood 2 :
<
font
color
='
red
'
>
{{blood_2}}
</
font
>
<
button
type
="
button
"
data-ng-click
="
fight()
"
>
Fight
</
button
>
<
button
type
="
button
"
data-ng-click
="
stopFight()
"
>
StopFight
</
button
>
<
button
type
="
button
"
data-ng-click
="
resetFight()
"
>
resetFight
</
button
>
</
div
>
</
div
>
</
body
>
</
html
>
Back
|
FazBrowse Home
|
New Git URL