本来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. 电量检测芯片BQ27510使用心得

    最近接触到一款TI的电量检测芯片BQ27510,网上很少有人提及该芯片如何使用,大部分博文都是搬得BQ27510的datasheet,至于真正使用过的很少,该芯片我个人感觉还是非常强大的,能自动学习你 ...

  2. 【leetcode❤python】Intersection of Two Arrays

    #-*- coding: UTF-8 -*- #求两个集合的交集class Solution(object):    def intersection(self, nums1, nums2):     ...

  3. R语言保存文件 Error in save error writing to connection

    Error in save(filtered, file = paste(sampleName, "filtered", sep = "_")) :   err ...

  4. [转]Socket send函数和recv函数详解

    1.send 函数 int send( SOCKET s, const char FAR *buf, int len, int flags ); 不论是客户还是服务器应用程序都用send函数来向TCP ...

  5. [转载] tmux 使用指南

    原文: https://danielmiessler.com/study/tmux/ tmux的用法和screen类似, 比screen好用一些, 不过需要单独安装

  6. [转载] zookeeper faq

    Zookeeper FAQ1. 如何处理CONNECTION_LOSS?在Zookeeper中,服务器和客户端之间维持一个长连接,CONNECTION_LOSS意味着这个连接断开了.客户端API返回C ...

  7. javaMail编写案列

    package common.impl; import java.util.Properties; import javax.mail.BodyPart; import javax.mail.Mess ...

  8. php flush()刷新不能输出缓冲的原因分析

    在php程序编写中,flush()的使用率还是挺高的,它在网页表现即时信息效果时发挥了极为重要的作用,比如之前写的php实现限制文件下载速度的代码实例,flush()就起了举足轻重的作用,是进度条实现 ...

  9. maven的聚合与继承5

    一.聚合 如果我们想一次构建多个项目模块,那我们就需要对多个项目模块进行聚合 1.1.聚合配置代码 1 <modules> 2 <module>模块一</module&g ...

  10. (四)ubuntu学习前传—uboot中对Flash和DDR的管理

    1.uboot阶段Flash的分区 (1)所谓分区,就是说对Flash进行分块管理.(2)PC机等产品中,因为大家都是在操作系统下使用硬盘的,整个硬盘由操作系统统一管理,操作系统会使用文件系统帮我们管 ...