本来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 = [];
$(".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遗留问题的更多相关文章

  1. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(23)-设置角色遗留问题和为权限设置角色以及EasyUI Tabs的使用

    ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装    ...

  2. [转]Django与遗留系统和数据库集成

    From:http://www.czug.org/python/django/17.html 尽管Django最适合从零开始开发项目--所谓的"绿色领域"开发--将框架与遗留系统和 ...

  3. [论文笔记] 一种Java遗留系统服务化切分和封装方法 (计算机学报, 2009)

    李翔,怀进鹏,曾晋,高鹏. 一种Java遗留系统服务化切分和封装方法. 计算机学报, 32(9), 2009, p1084-1815 (gs:5) 1. 本文研究从Java遗留系统中切分并封装出Web ...

  4. 重构遗留程序的一次案例学习(java程序)

    遗留代码经常是腐臭的,每个优秀的开发者都想把它重构.而进行重构的一个理想的先决条件是,它应该包含一组单元测试用例,以避免产生回归缺陷.但是为遗留代码编写单元测试可不是件容易的事,因为它经常是一团糟.要 ...

  5. 在Swift中使用遗留的C API

    Swift的类型系统的设计目的在于简化我们的生活,为此它强制用户遵守严格的代码规范来达到这一点.毫无疑问这是一件大好事,它鼓励程序员们编写 更好更正确的代码.然而,当Swift与历史遗留的代码库.特别 ...

  6. C语言程序设计(翁恺)--第三周课件中的三个遗留点

    刚刚写完第二周遗留点,下面写第三周的 第三周:判断 1.if和else后面也可以没有{}而是一条语句.如果if后不带{},但是后面跟了两条语句,并且后面还有else语句,那么程序会怎么执行? 在Dev ...

  7. [转]Hibernate中property-ref的应用,常用来解决遗留数据库One To Many关系

    [转]Hibernate中property-ref的使用,常用来解决遗留数据库One To Many关系 1.如表Class(ClassID,Class_No,ClassName)与Student(S ...

  8. 记录一下Fedora21下安装Foundation5遇到的问题[尚有遗留问题]

    写在前面:之前安装过了gem,所以下面的步骤没有这一过程,再有就是忘记哪一步需要ruby中的一个.h文件.可以使用如下命令解决 sudo yum install ruby-devel ------ S ...

  9. 设置角色遗留问题和为权限设置角色以及EasyUI Tabs的使用

    设置角色遗留问题和为权限设置角色以及EasyUI Tabs的使用 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo ...

随机推荐

  1. CF 321B Ciel and Duel(费用流)

    题目链接:http://codeforces.com/problemset/problem/321/B 题意:两个人,分别有n.m张牌.每张牌有两个属性类型和能力,类型为攻击或者防守.B的m张牌的属性 ...

  2. Create Hierarchical Tree To Control Records In Oracle Forms

    Download Source Code Providing an example form for creating hierarchical trees in Oracle Forms to co ...

  3. 模仿$.Callbacks实现

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  4. weblogic启动报错

    重启了一次linux服务器后,weblogic启动莫名报错,查看日志发现说部署的项目有个bean类无法加载, 1.然后手动删除 已经部署的项目,先在 domais/servers/AdminServe ...

  5. DOM综合案例、SAX解析、StAX解析、DOM4J解析

    今日大纲 1.DOM技术对xml的增删操作 2.使用DOM技术完成联系人管理 3.SAX和StAX解析 4.DOM4J解析 5.XPATH介绍 1.DOM的增删操作 1.1.DOM的增加操作 /* * ...

  6. 2013年5月~2013年11月份(转接关于ns51服务平台项目)相关资料:

    <1> [平台首页] 界面截图:(网络游客所看到的界面首页) <2>[注册] 有需求则注册会员(略...) <3>[个人空间] 注册成功后进入个人空间(有深层次的需 ...

  7. ubuntu 安装遇到黑屏

    1.安装了ubuntu之后,进入登录页面,然后用输入密码后就黑屏了,按ctrl+alt+f1都没用,也进不去命令界面,查找资料后发现是必须在虚拟机->设置->硬件->显示器,上把加速 ...

  8. iOS - Swift 与 C 语言交互编程

    前言 作为一种可与 Objective-C 相互调用的语言,Swift 也具有一些与 C 语言的类型和特性,如果你的代码有需要,Swift 也提供了和常见的 C 代码结构混合编程的编程方式. 1.基本 ...

  9. 一个不错的能将HTML表格导出为excel,pdf等的jquery插件

    https://github.com/kayalshri/tableExport.jquery.plugin https://github.com/kayalshri/ tableExport.jqu ...

  10. 控制执行流程 Thinking in Java 第四章

    4.1 true 和 false *Java 不允许将一个数字作为布尔类型(虽然在C和C++中可以),使用时需要条件表达式将其转换为布尔类型: 如下: if( a!= 0) 4.2 if-else 4 ...