本来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. application/x-www-form-urlencoded

    在Form元素的语法中,EncType表明提交数据的格式 用 Enctype 属性指定将数据回发到服务器时浏览器使用的编码类型. 下边是说明: application/x-www-form-urlen ...

  2. BOM DOM

    http://www.cnblogs.com/yexiaochai/archive/2013/05/28/3102674.html DOM Document Object Model 文档对象模型 一 ...

  3. css选择器选择顺序是从右往左的,为什么?

    https://segmentfault.com/q/1010000000713509 为什么 CSS 选择器解析的时候是从右往左? CSS 的后代选择器本身就是一种在标准里面不那么推荐的方式. 首先 ...

  4. spring+hibernate 实体类注解问题

    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.Ann ...

  5. [HDOJ3709]Balanced Number(数位dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3709 题意:求区间[L,R]内每一个数中是否存在一位,使得左边的各位数*距离=右边的各位数*距离(自己 ...

  6. Spark Streaming官方文档学习--上

    官方文档地址:http://spark.apache.org/docs/latest/streaming-programming-guide.html Spark Streaming是spark ap ...

  7. kakfa的常用命令总结

    Kafka的版本间差异较大,下面是0.8.2.1的操作方法 首先cd到kafaka的bin目录下;   #step1启动zookeeper服务 nohup bin/zookeeper-server-s ...

  8. (一)使用springAPI以及自定义类 实现AOP-aop编程

    Spring的另一个重要思想是AOP,面向切面的编程,它提供了一种机制,可以在执行业务前后执行另外的代码,Servlet中的Filter就是一种AOP思想的体现,下面通过一个例子来感受一下. 假设我们 ...

  9. Python学习笔记2—内置函数

    函数的使用 官方文档:https://docs.python.org/2/library/functions.html

  10. python的最最最最最基本语法(3)

    模块:在Python中,一个.py文件就称之为一个模块(Module). 为了避免模块名冲突,Python又引入了按目录来组织模块的方法,称为包(Package).例如两个名不hello.py的模块分 ...