Columbia遗留问题

本来Columbia只是按照顺序,导航不可以点击,数组按照顺序push的小东西

在leader的要求下,要变成导航可以点击,无顺序的一团浆糊,经过了大概长达两天(我是不是太适合做程序!)的反复纠结,浆糊,终于搞定了!

其实程序基本忘记了,但是主要功能就是未点击是黄色,点了之后是蓝色,还有一个高亮,关键还有顺序会颠倒啊!!!!!

最关键的总结就是:程序是要先设计的,想到一出是一出,只会让后面的东西,越来越浆糊,搞不清楚!!结构清晰后,我只用了一杯水的去厕所的时间完成了。

主要函数:afterChangeArr 
showCurQuestion


    var sex = ["male","female"];
var season = ["spring","summer"];
var sports = ["climbing","hiking","cross","water","leisure"];
var temperature = ["big","small"];

//题目的顺序
var indexArr = ["sex","season", "enviroment", "temperature" , "sports" ,"purpose"];

var msg = [];
var tempArr = [];
soundManager.setup({
url: ‘../swf/‘, //swf文件夹的位置
onready: function() {
soundManager.createSound({
id: ‘click-sound‘,
autoLoad: true,
autoPlay: false,
url: ‘music/mouseclick.mp3‘ //mp3文件的位置
});
}
});

$(".qa_list_cont").each(function(){
$(this).click(function(){
soundManager.play(‘click-sound‘);

var curChildID = $(this).attr("data-title");
var curParentID = $(this).parent().attr("id");
msg[curParentID] = curChildID;

if(indexArr.indexOf(curParentID)>-1){
tempArr.unshift(curParentID);
indexArr.splice(indexArr.indexOf(curParentID),1);
}
afterChangeArr(indexArr,tempArr);

//独立事件点击题目后为当前状态
$(this).parent().children("div").children("div").removeClass("qa_on");
$(this).children("div").addClass("qa_on");
$(this).parent().children("div").children(".qa_list").removeClass("selected");
$(this).children(".qa_list").addClass("selected");
});
});

$(".prev").click(function(){
soundManager.play(‘click-sound‘);

indexArr.unshift(tempArr[0]);
tempArr.splice(tempArr[0],1);
afterChangeArr(indexArr,tempArr);
console.log(‘prev ‘ , indexArr);

});

$(".bar li").each(function(i) {
$(this).click(function(){
showCurQuestion($(this).attr("data-title"));

});
});

//显示当前问题页,点击完问题和切换bar时候用到
function showCurQuestion(id){

// 最后一个也消失了
if(id){
$("#question").children("div").fadeOut(0);
$("#"+id).fadeIn(0);
curBar(id);
}

}

//当数组发生变化时,执行的事件,bar只是状态,数组不会变化
function afterChangeArr(arr,removeArr){
showCurQuestion(arr[0]);
if (arr.length >=6) {
$(".prev").fadeOut(0);

}else{
$(".prev").fadeIn(0);
if(arr.length < 1){
$("#btnResult").css({"display":"block"});
}else{
$("#btnResult").css({"display":"none"});
}

};
for(var i = 0 ; i < removeArr.length ; i++){
afterQuestionBar(removeArr[i]);
}
for(var i = 0 ; i < arr.length ; i++){
beforeQuestionBar(arr[i]);
}
}

curBar("sex");

//bar 三种状态之当前高亮
function curBar(id){
$(".bar li").removeClass("li_on");
$(".bar li[data-title=‘"+id+"‘]").addClass("li_on");
showCSS3(id);
}

//bar 三种状态之问题回答后
function afterQuestionBar(id){
$(".bar li[data-title=‘"+id+"‘]").removeClass();
$(".bar li[data-title=‘"+id+"‘]").addClass("cur");
}

//bar 三种状态之后退后 变为未完成状态
function beforeQuestionBar(id){
$(".bar li[data-title=‘"+id+"‘]").removeClass("cur");

}

function showCSS3(id){
console.log("showCSS3");
$("div.qa_list_cont").removeClass().addClass("qa_list_cont");
if($("#"+id).children(".qa_list_cont").length > 3){
$("#"+id).children(".qa_list_cont").addClass("fadeInUp");
}else{
$("#"+id).children(".qa_list_cont").first().addClass("fadeInLeft");
$("#"+id).children(".qa_list_cont").last().addClass("fadeInRight");
}
}

Columbia遗留问题

时间: 2024-12-15 01:33:33

Columbia遗留问题的相关文章

遗留代码的测试

遗留代码的测试 在大多时候代码的测试很难,因为很多代码无法进行参数注入,那么这个时候有一款不受限的隔离框架TypeMock供你使用,不过遗憾这款软件是付费的一个隔离框架,有15天的免费使用权,如果能解决你现有的问题我想这份费用并不能算多.TypeMock的官方下载http://www.typemock.com/.下面开始看看TypeMock是怎么样使用的. 1:伪造一个静态的方法来看一个例子 被测试的静态方法 public static int DoSomethingSpecialOnALeap

Linq扩展最后遗留之SelectMany,Zip,SequenceEqual源码分析

Linq扩展最后遗留之SelectMany,Zip,SequenceEqual源码分析 一: AsParallel [并行化查询] 这个函数的功效就是将计算结果多线程化.[并行计算] =>[多核] 二:AsQueryable [将lambda表达式作为数据结构存储起来,Expresstion 表达式树] 三:Join 多表关联操作,我们可以用"查询关键字"解决. 为了更加的脱俗易懂,我们建议用人性化的"查询关键字"来解决这个复杂的Join,lambda. 四:

在Swift中使用遗留的C API

Swift的类型系统的设计目的在于简化我们的生活,为此它强制用户遵守严格的代码规范来达到这一点.毫无疑问这是一件大好事,它鼓励程序员们编写 更好更正确的代码.然而,当Swift与历史遗留的代码库.特别是C语言库进行交互时,问题出现了.我们需要面对的现实是许多C语言库滥用类型,以至于它 们对Swift的编译器并不友好.苹果的Swift团队的确花了不少功夫来支持C的一些基础特性,比如C字符串.但当在Swift中使用历史遗留的C语言 库时,我们还是会面临一些问题.下面我们就来解决这些问题. 在开始之前

对历史遗留代码的维护和再开发

一.时间宽松时的代码维护 对于新人,一般都会留出一段时间进行代码的接手,那么对于如何处理接到手中的代码,是不是只是看看代码.写写心得,还是能够利用这段空闲时间,煅炼提升自己,我期望是后者,结合公司部门的情况,对这种情况进行个人阐释: 1.对现有代码的熟悉.若是对拿到手中的代码,都不知道是做什么的,有什么用,可能就什么意义也没有,后面的也不用看了. 2.加入或者补充测试用例,若是没有测试用例,后面的重构基本上是没办法进行判断是否正确的. 3.用测试用例对代码进行测试,以期达到相关效果和理解代码逻辑

珠海全志公司的 Linux 内核遗留了后门

据外媒 arstechnica 报道,一家中国的芯片级系统厂商全志(allwinner) 在其开发的产品中携带的内核里遗留了一个 root 后门.全志的处理器芯片用在很多低端的 Android 平板.机顶盒.基于 ARM 的 PC 等等之上.而这个后门非常容易获得,只需要给一个未见于文档的调试进程发送一个字符串“rootmydevice” 即可获取该设备的 root 权限. 该后门可能是开发人员调试后忘记移除的.全志公司在知道此消息后,已经从其公司的 Github 账户上删除了相关文件. 该公司

外包公司做遗留项目有意思么?

过年后,在目前公司的工作就要告一段落了,又恰逢年终,终觉得还是要总结点什么,来个了断吧~ 背景介绍 考虑了一下,似乎技术上没有什么太多可说的,再加上外包项目也不能透露太多客户的东西.3年多做得都是同一个Account(客户)下的项目,是客户产品线下的一个数据中心产品,面向数据中心的基础设施用户,也就是国内IDC.产品提供数据中心IT基础设施运维整体解决方案, 属于行业内KVM交换机顶级品牌, 另一家也是美国厂商, 行业内剩下的就是国内中低端的深圳厂商, KVM over IP 还是较有技术含量的

大话重构连载1:遗留系统——软件工业时代的痛

我常常感到幸运,我们现在所处的是一个令人振奋的时代,我们进入了软件工业时代.在这个时代里,我们进行软件开发已经不再是一个一个的小作坊,我们在进行着集团化的大规模开发.我们开发的软件不再是为某个车间.某个工序设计的辅助工具,它从某个单位走向整个集团,走向整个行业,甚至整个社会,发挥着越来越重要的作用.一套软件所起到的作用与影响有多大,已经远远超越了所有人的想象,成为一个地区.一个社会,乃至整个国家不可或缺的组成部分.慢慢地,人们已经难以想象没有某某软件或系统的生活和工作会是怎样的.这就是软件工业时

应用MVP模式对遗留代码进行重构

AV(Autonomous View)自治视图 在面向终端用户的应用中,都需要一个可视化的UI来与用户交互.这个UI称为View视图. 在早期,我们习惯将所有前台的逻辑,与视图揉在一起,称为AV自治视图. 这些逻辑包括:数据呈现(Display),用户动作的扑捉与响应,数据存储等. 在.Net的Winform和ASP.NET Web Form中,采用的都是事件驱动模型. AV是将所有UI相关的逻辑都注册到视图本身,或者视图元素对应的事件上. 人机交互应用的3个关注点. 数据在UI上的展示. UI

linux 遗留问题

1. yum命令,yum源配置与使用 linux 遗留问题,布布扣,bubuko.com