Mercurial > open-web-challenges
annotate open-web-challenges.js @ 11:5cab1925bcda
changed slide down to fade in.
author | Atul Varma <varmaa@toolness.com> |
---|---|
date | Mon, 30 Mar 2009 23:35:23 -0700 |
parents | 0caf4ac71ba8 |
children | d1f83e9c0791 |
rev | line source |
---|---|
0 | 1 var OWC = { |
2 _makeHintButton: function makeHintButton(hints) { | |
7
5b049b310795
Made hint button hit area smaller.
Atul Varma <varmaa@toolness.com>
parents:
4
diff
changeset
|
3 var hintButtonContainer = $('<div class="hint-button"></div>'); |
5b049b310795
Made hint button hit area smaller.
Atul Varma <varmaa@toolness.com>
parents:
4
diff
changeset
|
4 var hintButton = $('<span></span>'); |
0 | 5 hintButton.text($('#msg-show-first-hint').text()); |
6 hintButton.click( | |
7 function() { | |
1
fa2194344c43
Converted some double quotes to single quotes.
Atul Varma <varmaa@toolness.com>
parents:
0
diff
changeset
|
8 hints.find('p:hidden:first').fadeIn(); |
fa2194344c43
Converted some double quotes to single quotes.
Atul Varma <varmaa@toolness.com>
parents:
0
diff
changeset
|
9 if (hints.find('p:hidden').length) |
0 | 10 $(this).text($('#msg-show-another-hint').text()); |
11 else | |
3
9b9d095c5d2c
Changed some CSS styles, other cosmetic issues.
Atul Varma <varmaa@toolness.com>
parents:
2
diff
changeset
|
12 $(this).text($('#msg-no-more-hints').text()); |
0 | 13 }); |
7
5b049b310795
Made hint button hit area smaller.
Atul Varma <varmaa@toolness.com>
parents:
4
diff
changeset
|
14 hintButtonContainer.append(hintButton); |
5b049b310795
Made hint button hit area smaller.
Atul Varma <varmaa@toolness.com>
parents:
4
diff
changeset
|
15 return hintButtonContainer; |
0 | 16 }, |
17 | |
18 load: function load(id) { | |
1
fa2194344c43
Converted some double quotes to single quotes.
Atul Varma <varmaa@toolness.com>
parents:
0
diff
changeset
|
19 var challenge = $('#challenge-' + id); |
fa2194344c43
Converted some double quotes to single quotes.
Atul Varma <varmaa@toolness.com>
parents:
0
diff
changeset
|
20 var content = challenge.find('.content').clone(); |
fa2194344c43
Converted some double quotes to single quotes.
Atul Varma <varmaa@toolness.com>
parents:
0
diff
changeset
|
21 var current = $('#current-challenge'); |
0 | 22 current.empty(); |
4 | 23 |
24 var headerText = $('#msg-header').text().replace('{id}', id); | |
25 current.append($('<h1></h1>').text(headerText)); | |
26 document.title = headerText; | |
27 | |
0 | 28 current.append(content); |
29 | |
30 var hints = $('<div class="hints"></div>'); | |
1
fa2194344c43
Converted some double quotes to single quotes.
Atul Varma <varmaa@toolness.com>
parents:
0
diff
changeset
|
31 hints.append(challenge.find('.hints').clone()); |
fa2194344c43
Converted some double quotes to single quotes.
Atul Varma <varmaa@toolness.com>
parents:
0
diff
changeset
|
32 hints.find('p').hide(); |
0 | 33 current.append(this._makeHintButton(hints)); |
34 current.append(hints); | |
35 | |
1
fa2194344c43
Converted some double quotes to single quotes.
Atul Varma <varmaa@toolness.com>
parents:
0
diff
changeset
|
36 var validatorCode = challenge.find('.validator').text(); |
0 | 37 |
1
fa2194344c43
Converted some double quotes to single quotes.
Atul Varma <varmaa@toolness.com>
parents:
0
diff
changeset
|
38 var validate = eval('(' + validatorCode + ')'); |
0 | 39 |
40 function maybeDisplaySuccess() { | |
41 if (validate(current)) { | |
9
0caf4ac71ba8
Made success message easier to read.
Atul Varma <varmaa@toolness.com>
parents:
7
diff
changeset
|
42 var success = $('<div id="success"></div>'); |
0 | 43 success.text($('#msg-success').text()); |
9
0caf4ac71ba8
Made success message easier to read.
Atul Varma <varmaa@toolness.com>
parents:
7
diff
changeset
|
44 success.wrapInner('<h1></h1>'); |
0 | 45 success.hide(); |
9
0caf4ac71ba8
Made success message easier to read.
Atul Varma <varmaa@toolness.com>
parents:
7
diff
changeset
|
46 current.children().addClass('completed'); |
0 | 47 current.append(success); |
11
5cab1925bcda
changed slide down to fade in.
Atul Varma <varmaa@toolness.com>
parents:
9
diff
changeset
|
48 success.fadeIn('slow'); |
0 | 49 window.clearInterval(intervalId); |
50 } | |
51 } | |
52 var intervalId = window.setInterval(maybeDisplaySuccess, 100); | |
53 | |
54 current.fadeIn(); | |
55 } | |
56 }; | |
57 | |
58 $(window).ready( | |
59 function() { | |
60 OWC.load(1); | |
61 }); |