#### 問題分支
*****
```
//問題描述:選中問題的不同選項會出現不同的下一題,最終的顯示效果根據問題序號決定
//解決思路:把所有問題的不同情況用數組列出來,根據數組來判斷下一題、進度以及返回時對應的題目
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、訪問格式