#### 问题分支
*****
```
//问题描述:选中问题的不同选项会出现不同的下一题,最终的显示效果根据问题序号决定
//解决思路:把所有问题的不同情况用数组列出来,根据数组来判断下一题、进度以及返回时对应的题目
var str = 'q';//当前位置所在的问题序列
var prev = 'Info';
var next = '';
var arr = ['q2z','q1a1b1c1A','q1a1b1c2B','q1a1b2c1C','q1a1b2c2D','q1a2d1e0E','q1a2d3e0E','q1a2d2e0F','q1a3b1c1d1e0G','q1a3b1c1d3e0G','q1a3b1c2d1e0H','q1a3b1c2d3e0H','q1a3b2c1d1e0I','q1a3b2c1d3e0I','q1a3b2c2d1e0J','q1a3b2c2d3e0J','q1a3b1c1d2e0K','q1a3b1c2d2e0L','q1a3b2c1d2e0M','q1a3b2c2d2e0N'];
//返回指定字符的下标
function resubscript(k,str){
for(var i = 0; i < str.length; i++){
if(str[i] == k){
return i;
}
}
}
//返回下一个出现的字符及所在位置百分比
function nextshow(obj,str){
for(var i = 0; i < arr.length; i++){
if(obj[i].indexOf(str) != -1){
var length = obj[i].length;
var next = obj[i].substring(str.length,str.length+1);
return {
next: next,
len: (resubscript(next,obj[i])/2+1)/(length/2)*100
}
}
}
}
//重新加載
function reloads(){
$("#z").animate({
opacity: "hide"
}, 0);
$('#a').animate({
opacity: "show"
},1000);
str = 'q1a';
}
function reload(){
window.location.href = window.location.href;
}
/*Info*/
function ClickQ1() {
$("#Info").animate({
opacity: "hide"
}, 0);
$("#q").animate({
opacity: "show"
}, 1000);
}
//返回按钮事件
function BackInfo() {
$(".siderror").hide();
next = str.substring(str.length-1,str.length);
prev = str.substring(str.length-3,str.length-2);
str = str.slice(0,str.length-2);
$("#"+next).animate({
opacity: "hide"
}, 0);
if(str.length<1){
str = 'q';
$("#Info").animate({
opacity: "show"
}, 1000);
}else{
$("#"+prev).animate({
opacity: "show"
}, 1000);
}
}
function ClickQ2a(){
$(".siderror").hide();
next = str.substring(str.length-1,str.length);
prev = str.substring(str.length-3,str.length-2);
str = str.slice(0,str.length-2);
$("#"+next).animate({
opacity: "hide"
}, 0);
if(str.length<1){
str = 'q';
$("#Info").animate({
opacity: "show"
}, 1000);
}else{
$("#"+prev).animate({
opacity: "show"
}, 1000);
}
}
//下一题的点击事件
function ClickQ1a(that) {
//答案序号
var n = $(that).parents('.FormButton').prev('div').find('input[name="Field1"]:checked').val();
var that = that;
$(".siderror").hide();
if(n != undefined){
str = str + n;
prev = str.substring(str.length-2,str.length-1);
next = nextshow(arr,str).next;
//进度
$('#'+next).find('.process_bar').css({
left:nextshow(arr,str).len-8+'%'
});
str = str + next;
$("#"+prev).animate({
opacity: "hide"
}, 0);
$('#'+next).animate({
opacity: "show"
},1000)
}else {
$(that).parents('.FormButton').prev('div').find('#ErrMsg1').html('請選擇你的答案').show();
}
}
```
- 我的烂笔头
- 1、常用功能方法整合
- 2、jQuery基本函数
- 3、在页面中添加图片
- 4、精度算法
- 5、图片懒加载
- 6、弹窗拖拽功能
- 7、弹幕功能
- 8、鼠标滚动事件
- 9、获取页面相关属性
- 10、弹窗的三种展现方式
- 11、轮播功能
- 12、获取唯一标识
- 13、CSS样式效果
- 14、任意两点的动态连线
- 15、全新接口功能
- 16、适配兼容
- 17、无刷新页面更改URL
- 18、定时器的那些事
- 19、关于iframe的常见问题
- 20、设置不同的时间
- 21、关于select-option
- 22、省市级联
- 23、省市级联数据
- 24、关于数据传输问题
- 25、问题分支
- 那些年我们一起走过的神坑
- 1、关于console的使用
- 2、关于数组
- 1、数组的赋值
- 2、数组的常用方法
- 3、关于移动端的bug
- 4、关于视频的bug
- 5、那些坑坑洼洼
- 6、关于字符串
- 1、字符串的常用方法
- 页面布局
- 1、背景固定的滚动页面
- 心得
- Node.js
- 1、安装环境
- ThinkPHP 5.1
- 1、访问格式