都要的 第一个效果是点击第一个li  “11111”添加class=”active“  其他的的li添加class=”active_1“并且不能获取点击事件 只有再次点击第一个li的时候取消class=”active“  其他的li才能获取点击事件第二个效果是点击除了第一个li的时候    第一个li不能获取点击事件 其他的li都能有点击事件并且添加class=”active“ 当其他的li都没有class=”active“ 的时候 第一个li才能有点击事件 

解决方案 »

  1.   

    帮你理一下思路 就出来了2个集合  x (只包含一个a)   y    ( 每个集合包含若干个a )效果1):
    x可以点击切换状态    active  || !active 
         假如  x。状态  == active 则  y 集合 可以点击
                   x。状态 != active  则 y集合不可 点击
         推导   y集合点击时  如果  x。状态 == !active 则不执行后面的代码效果2)
    y集合可以点击切换状态  active  || !active
       假如  所有y。状态 == active  则x 可以点击
                  有至少一个 y。状态 == !active 则x 不可以点击
       推导  y(任何成员点击后) 检查y集合所有成员状态  并执行上面的 假如逻辑
      

  2.   


    $(document).ready(function(){
         $(".div a:first").click(function(){
    if(this.className=='active'){
    $(this).addClass('active');
                $(".div a:gt(0)").addClass("active_1").unbind('click');


     
     })  
    });请问下 是这样写吗  我这里没有效果 是哪里写错了吗
      

  3.   


    $(document).ready(function(){
         $(".div a:first").click(function(){
    if(this.className=='active'){
    $(this).addClass('active');
                $(".div a:gt(0)").addClass("active_1").unbind('click');


     
     })  
    });请问下 是这样写吗  我这里没有效果 是哪里写错了吗吧分析描述改成代码其实是很直白的
    效果1:
    var x = $('.div a:first');
    var y = $('.div a').not(':first');
         var cls = 'active';     //状态css名称
    x.click(function(){
         var that = $(this);
         that.hasClass(cls)?
               that.removeClass(cls):
               that.addClass(cls);      
    });y.click(function(){
         if(!x.hasClass(cls)){
                alert('当前是禁止状态');
         }else{
                 alert('当前是开放状态');
         }
    });效果2 你参考我的 1的写法