zoukankan      html  css  js  c++  java
  • 2010年世界杯 模拟夺冠程序

     

    继世界杯模拟抽签之后,公司又弄了个世界杯模拟晋级,在抽签真实结果的基础上,每组抽取两队,选出16强,16强中选出八强 。。。直至选出冠亚季军。

    这个小程序 有两个步骤,第一步是选曲16强 第二步是晋级区 可详见 http://soccer.titan24.com/app/soccer/worldcupgame/index.php

     其中用到了几个小技巧~比如选完16强 直接将屏幕滚动到 晋级区 判断已选的个数 并用一下代码 做屏幕滚动:

    if($("#res").find(".sld").length==16){

    window.scrollTo(0,620);

    }

    在选后一级之前,可以重新选择前一级,而开始选择后一级时,前一级的选择结果则固定不能重选 使用remove方法 去掉不可选的菜单

    在最后阶段的选择中, 自动分别冠亚季军等。最后将所有结果 存到一个 JS对象中 代码如下:

     // JavaScript Document by Trance

    /*
    *2010南非世界杯模拟晋级
    *Mail:trance2005@163.com
    *MSN:trancelover@live.cn
    *QQ:397902738
    *teamsel:晋级路上的球队 红色标志的球队
    *top16:16强球队
    *..........
    *top3:冠亚季军
    *Date:2009-12-01
    */
    $(document).ready(function(){
        
        
    var res={
            teamsel:[], 
            top16:[], 
            top8:[],
            top4:[],
            top3:[]
            }
        
        $("#res").find("td").mouseover(function(){
            
    var dl=    $(this);
            
    if(!dl.hasClass("sld"&& dl.find(".hide").length<2){
                
    var gx=parseInt(Math.floor(dl.offset().left))+66+"px";
                
    var gy=parseInt(Math.floor(dl.offset().top))-8+"px";
                
    var menu=dl.find("div");
                
    var group=menu.attr("class");
                
    var td=dl.find("strong").html();
                
    var tarid;
                menu.css({"top":gy,"left":gx}).show();
                menu.find("li").click(function(e){
                    
    var li=    $(e.target).parents("li")||$(e.target);    
                    
    if(!li.hasClass("hide")){
                        
    var grade=li.attr("class");
                        tarid=group+grade;
                        $("."+group).find("."+grade).addClass("hide");
                        dl.addClass("sld");
                        menu.hide();
                        
    //alert(tarid);
                        $("#"+tarid).html(td);
                        
    if($("#res").find(".sld").length==16){
                            window.scrollTo(0,620);
                            }
                        
    return false;
                        }
                    
    return false;
                    })
                    
    return false;
                }
            
            
    return false;
            }).mouseout(function(){
                $(this).find("div").hide();
                
    return false;
                })
        
        $("#t16").find("p").mouseover(function(){
            
    if($("#res").find(".hide").length==64){
                
    var p=$(this);
                cur(this,"cur","p");cur(this,"hov","p");
                
    var mth=p.parents(".match");
                
    var menu=mth.find(".menu");
                
    var idx=$("#t16").find(".match").index(mth);
                
    var gx=parseInt(Math.floor(p.offset().left))+122+"px";
                
    var gy=parseInt(Math.floor(p.offset().top))-8+"px";
                $(".menu").hide();
                menu.css({"top":gy,"left":gx}).show();
                menu.find("a").click(function(){
                    
    var _p=mth.find(".cur");
                    
    var team=_p.html();
                    cur(_p,"prom","p");
                    $("#t8").find("p").eq(idx).html(team);
                    mth.addClass("cld");
                    
    //menu.remove();
                    return false;
                    })
                }
            
    return false;
            })
        
        
        $("#t8").find("p").mouseover(function(){
            
    if($("#t16").find(".cld").length==8){
                
    var p=$(this);
                cur(this,"cur","p");cur(this,"hov","p");
                
    var mth=p.parents(".match");
                
    var menu=mth.find(".menu");
                
    var idx=$("#t8").find(".match").index(mth);
                
    var gx=parseInt(Math.floor(p.offset().left))+122+"px";
                
    var gy=parseInt(Math.floor(p.offset().top))-8+"px";
                $(".menu").hide();
                menu.css({"top":gy,"left":gx}).show();
                menu.find("a").click(function(){
                    $("#t16").find(".menu").remove();                          
                    
    var _p=mth.find(".cur");
                    cur(_p,"prom","p");
                    
    var team=_p.html();
                    $("#t4").find("p").eq(idx).html(team);
                    
                    mth.addClass("cld");
                    
    //menu.remove();
                    return false;
                    })
                }
            
    //alert(idx);
            return false;
            })
        
        $("#t4").find("p").mouseover(function(){
            
    if($("#t8").find(".cld").length==4){
                
    var p=$(this);
                cur(this,"cur","p");cur(this,"hov","p");
                
    var mth=p.parents(".match");
                
    var menu=mth.find(".menu");
                
    var idx=$("#t4").find(".match").index(mth);
                
    var gx=parseInt(Math.floor(p.offset().left))+122+"px";
                
    var gy=parseInt(Math.floor(p.offset().top))-8+"px";
                $(".menu").hide();
                menu.css({"top":gy,"left":gx}).show();
                menu.find("a").click(function(){
                    $("#t8").find(".menu").remove();        
                    
    var _p=mth.find(".cur");
                    cur(_p,"prom","p");
                    
    var team=_p.html();
                    
    var sibp=_p.siblings("p").html();
                    $("#t2").find("p").eq(idx).html(team);
                    $("#f34").find("p").eq(idx).html(sibp);
                    
                    mth.addClass("cld");
                    
    //menu.remove();
                    return false;
                    })
                }
            
    //alert(idx);
            return false;
            })
        
        
        $("#f34").find("p").mouseover(function(){
            
    if($("#t4").find(".cld").length==2){
                
    var p=$(this);
                cur(this,"cur","p");cur(this,"hov","p");
                
    var mth=p.parents(".match");
                
    var menu=mth.find(".menu");
                
    var gx=parseInt(Math.floor(p.offset().left))+122+"px";
                
    var gy=parseInt(Math.floor(p.offset().top))-8+"px";
                $(".menu").hide();
                menu.css({"top":gy,"left":gx}).show();
                menu.find("a").click(function(){
                    $("#t4").find(".menu").remove();                              
                    
    var _p=mth.find(".cur");
                    cur(_p,"prom","p");
                    
    var team=_p.html();
                    $("#t0").find("p").eq(2).html(team);
                    mth.addClass("cld");
                    
    //menu.remove();
                    filldata();
                    
    return false;
                    })
                }
            
    //alert(idx);
            return false;
            })
        
        $("#final").find("p").mouseover(function(){
            
    if($("#t4").find(".cld").length==2){
                
    var p=$(this);
                cur(this,"cur","p");cur(this,"hov","p");
                
    var mth=p.parents(".match");
                
    var menu=mth.find(".menu");
                
    var gx=parseInt(Math.floor(p.offset().left))+122+"px";
                
    var gy=parseInt(Math.floor(p.offset().top))-8+"px";
                $(".menu").hide();
                menu.css({"top":gy,"left":gx}).show();
                menu.find("a").click(function(){
                    $("#t4").find(".menu").remove();        
                    
    var _p=mth.find(".cur");
                    cur(_p,"prom","p");
                    
    var team=_p.html();
                    
    var sibp=_p.siblings("p").html();
                    $("#t0").find("p").eq(0).html(team);
                    $("#t0").find("p").eq(1).html(sibp);
                    mth.addClass("cld");
                    
    //menu.remove();
                    filldata();
                    
    return false;
                    })
                }
            
    //alert(idx);
            return false;
            })
        
        $("#stepbtm p").mouseout(function(){
            $(this).removeClass("hov");                              
            })
        
        
    function filldata(){
            
    if($("#stepbtm").find(".prom").length==16){
                res.teamsel.length=res.top8.length=res.top4.length=res.top3.length=res.top16.length=0;
                
    for(var i=0; i<16; i++){
                    res.teamsel.push($("#stepbtm").find(".prom").eq(i).text());
                    }
                
    for(var i=0; i<16; i++){
                    res.top16.push($("#t16").find("p").eq(i).text());
                    }
                
    for(var i=0; i<8; i++){
                    res.top8.push($("#t8").find("p").eq(i).text());
                    } 
                
    for(var i=0; i<4; i++){
                    res.top4.push($("#t4").find("p").eq(i).text());
                    } 
                
    for(var i=0; i<3; i++){
                    res.top3.push($("#t0").find("p").eq(i).text());
                    }
                
    var v = res.teamsel + '|' + res.top16 + '|' + res.top8 + '|' + res.top4 + '|' + res.top3;
                $("#groupinfo").val(v);
                
    //alert(res.top3)
                }
            }
            
        
    //end of document.ready    
        })


    /*标记当前*/
        
    function cur(ele,currentClass,tag){
            
    var ele= jQuery(ele)|| ele ;
            
    var tag= tag || "";
            
    var mark= currentClass || "cur";
            ele.addClass(mark).siblings(tag).removeClass(mark);
            }
            
  • 相关阅读:
    python学习第十一天 -- 函数式编程
    python学习第十天 -- 函数
    python学习第九天 -- 列表生产式
    python学习第八天 -- 迭代
    (转载)C# 编程 使用可空类型
    Func的介绍——c#封装的代理
    select SCOPE_IDENTITY()用法
    insert into 语句的三种写法
    面试感悟----一名3年工作经验的程序员应该具备的技能
    SQL中常用模糊查询的四种匹配模式&&正则表达式
  • 原文地址:https://www.cnblogs.com/trance/p/1617496.html
Copyright © 2011-2022 走看看