var array = []; var ageUN_diagnosisControl = { init : function($elem) { $('.ageUN_btn-A').off('click'); $('.ageUN_btn-B').off('click'); $('.ageUN_btn-C').off('click'); $('.ageUN_btn-D').off('click'); $('.ageUN_btn-pre').off('click'); var _self = this; $('.ageUN_btn-A').on('click', function(e) { _self.move($elem, 'A'); }); $('.ageUN_btn-B').on('click', function(e) { _self.move($elem, 'B'); }); $('.ageUN_btn-C').on('click', function(e) { _self.move($elem, 'C'); }); $('.ageUN_btn-D').on('click', function(e) { _self.move($elem, 'D'); }); $('.ageUN_btn-pre').attr('href', 'javascript:history.back();'); }, move : function($elem, answerValue) { var next = ageUN_diagnosisData.data[$elem][answerValue]; var reg = new RegExp(/q[0-9]+$/); var res = reg.test(next); if(res == true) { this.show(next); } else { location.href = next; } }, show : function($elem) { var _self = this; this.init($elem); this.history($elem); $('.ageUN_title').text(ageUN_diagnosisData.title); $('.ageUN_text-question').text(ageUN_diagnosisData.data[$elem].text); $('.ageUN_btn-A').text(ageUN_diagnosisData.data[$elem].sel_1); $('.ageUN_btn-B').text(ageUN_diagnosisData.data[$elem].sel_2); $('.ageUN_btn-C').text(ageUN_diagnosisData.data[$elem].sel_3); $('.ageUN_btn-D').text(ageUN_diagnosisData.data[$elem].sel_4); }, history : function($elem){ if(!this.check(array, $elem)){ array.push($elem); } }, check : function(array, value){ for (var i =0, len = array.length; i < len; i++) { if (value == array[i]) { return true; } } return false; } } $(document).ready(function() { ageUN_diagnosisControl.show('q1'); });