$(function () { $('.footer').click(function () { $('#introduce').hide(); $('#answerQuestions').show(); subjectClass.nextQuestion(); }) $('#next-question').click(function () { subjectClass.nextQuestion(); }) $('#previous-question').click(function () { subjectClass.previousQuestion(); }) $('#view-results').click(function () { subjectClass.nextQuestion(); }) }) class SubjectClass { subjectList = [ { value: '', title: '沟通质量', name: '1.你们争吵后能主动复盘问题根源吗?', select: [{ name: '是', value: 1 }, { name: '否', value: 0 }], }, { value: '', title: '沟通质量', name: '2.对方是否经常用"你总是/从不"等绝对化指责?', select: [{ name: '是', value: 1 }, { name: '否', value: 0 }], }, { value: '', title: '边界感知', name: '3.查看对方手机时是否需要提前询问?', select: [{ name: '是', value: 1 }, { name: '否', value: 0 }], }, { value: '', title: '边界感知', name: '4.会因伴侣单独聚会感到焦虑吗?', select: [{ name: '是', value: 1 }, { name: '否', value: 0 }], }, { value: '', title: '情感回应', name: '5.情绪低落时伴侣能第一时间察觉吗?', select: [{ name: '是', value: 1 }, { name: '否', value: 0 }], }, { value: '', title: '情感回应', name: '6.对方记得你近期提及的生活细节吗?', select: [{ name: '是', value: 1 }, { name: '否', value: 0 }], }, { value: '', title: '价值认同', name: '7.你们对未来规划有明确共识吗?', select: [{ name: '是', value: 1 }, { name: '否', value: 0 }], }, { value: '', title: '价值认同', name: '8.是否常因消费观念产生矛盾?', select: [{ name: '是', value: 1 }, { name: '否', value: 0 }], }, { value: '', title: '冲突处理', name: '9.冷战后通常由谁主动破冰?', select: [{ name: '我', value: 1 }, { name: '他(她)', value: 0 }], }, { value: '', title: '冲突处理', name: '10.会因父母意见否决伴侣决定吗?', select: [{ name: '是', value: 1 }, { name: '否', value: 0 }], }, { value: '', title: '亲密行为', name: '11.每周有≥3次非性爱的亲密接触吗?', select: [{ name: '是', value: 1 }, { name: '否', value: 0 }], }, { value: '', title: '亲密行为', name: '12.能坦然讨论彼此的性需求吗?', select: [{ name: '是', value: 1 }, { name: '否', value: 0 }], } ]; subjectIndex = -1; constructor() { } setQuestion() { let li = this.subjectList[this.subjectIndex]; let str = ''; for (let i = 0; i < li.select.length; i++) { str += `
${li.select[i].name}
`; } $('#subject-index').text(this.subjectIndex + 1); $('#subject-total').text('/' + this.subjectList.length); $('#subject-wdith').css('width', (this.subjectIndex + 1) / this.subjectList.length * 100 + '%') $('#topic-title').text(li.title); $('#topic-name').text(li.name); $('#topic-select').html(str); if (this.subjectIndex === 0) { $('#previous-question,#view-results').hide(); $('#next-question').css('display', 'flex'); } else if ((this.subjectIndex + 1) >= this.subjectList.length) { $('#next-question').hide(); $('#previous-question,#view-results').css('display', 'flex'); } else { $('#view-results').hide(); $('#next-question,#previous-question').css('display', 'flex'); } } nextQuestion() { if (this.subjectIndex >= 0 && this.subjectList[this.subjectIndex].value === '') { alert('请选择答案'); return; } if ((this.subjectIndex + 1) >= this.subjectList.length) { this.viewResults() return; } this.subjectIndex++; this.setQuestion() } previousQuestion() { if (this.subjectIndex <= 0) { return; } this.subjectIndex--; this.setQuestion() } selectTopic(value) { this.subjectList[this.subjectIndex].value = value; } viewResults() { $('#answerQuestions').hide(); const total = this.subjectList.reduce((sum, item) => sum + item.value, 0); let txt = ''; if (total >= 0 && total <= 3) { txt = '风险型关系(建议专业咨询)'; } else if (total >= 4 && total <= 7) { txt = '改善型关系(焦虑-回避混合)'; } else { txt = '健康型关系(安全依恋)'; } $('#result-fraction-n').text(total); $('#result-txt').text(txt); $('#report').show(); } } var subjectClass = new SubjectClass(); function onTopicLi(value,index) { subjectClass.selectTopic(value); $('.topic-li').removeClass('topic-li-active'); $('.topic-li').eq(index).addClass('topic-li-active'); }