两个id都相同的div,你要怎么做才能让他们同时执行一个动画?
貌似通过id控制div标签执行动画的时候只有其中一个才能执行动画,而另一个却不会执行吧

解决方案 »

  1.   

    谢谢LS的回答,好吧,
    应该是我说的不够清楚假设是
    ID t1 t2 t3 t4.........
    里面是u1 u2 u3 u4........后面可能会增加N个怎么用比较优美简洁的代码来实现
    我现在是卡在这里了
      

  2.   


     var id_array={'t1':'interval1','t2':'interval2','t3':'interval3','t4':'interval4','t5':'interval5'};
      for(var key in id_array){
        if(key){
            key=document.getElementById(key);
            key.onmouseover=function(key){
              id_array[key]=setInterval(animate(key),1000);//调用动画函数
            }
            key.onmouseout=function(key){
              clearInterval(id_array[key]);
            }
        }
      }
      //这里执行动画效果
      function animate(k){
        swicth(k){
          case t1:
            //t1需要执行的动画
            break;
          case t2:
            //t2需要执行的动画
            break;
          case t3:
            //t3需要执行的动画
            break;
          case t4:
            //t4需要执行的动画
            break;
          case t5:
            //t5需要执行的动画
            break;
          default:
            break;
        }
      }
      

  3.   


     var n=1000;  //1000足够大了吧?你也可以为n赋值任何自然数
      var key=[];  //这个数组用来保存div的id
      var value=[];  //这个数组用来保存interval_id
      //这个for循环用于动态生成长度为n的两个数组
      for(var i=0;i<n;i++){ 
        key[i]=t+i.toString();
        value[i]=intervar+i.toString();
      }
      for(var j=0,k=0;j<key.length&&k<key.length;j++,k++){
        if(j){
          key[j]=document.createElement(key[j]);
          key[j].onmouseover=function(j){
            value[k]=setInterval(animate(j),1000);//调用动画函数
          }
          key[j].onmouseout=function(j){
            clearInterval(value[k]);
          }
        }
      }
      //动画函数
      function animate(a){
          //因为n足够大,所以不可能每个div都要设定一个动画,此时动画尽量是相同的
      }那个,代码我没有测试,不知道正确不,但是大致的思想就是这样
      

  4.   

    <div class="t">
      <div class="u">
    11111111
      </div>
    </div>
     
    <div class="t">
      <div class="u">
    222222222
      </div>
    </div>
    $('.t').onmouseover(function(){  //鼠标移动上去
       $(this).find('u')..animate({height:"300px"});
    });
    $('.t').onmouseout(function(){  //鼠标移动下去
       $(this).find('u')..animate({height:"300px"});
    });改成class 就是这么简单。
      

  5.   

      $(this).find('.u')u是自己运动,不需要鼠标触发,而且是,N个u一起动哦
    要是单个的话,就简单了
      

  6.   

      $(this).find('.u')u是自己运动,不需要鼠标触发,而且是,N个u一起动哦
    要是单个的话,就简单了
    那更简单
     $('.t').find('u')..animate({height:"300px"});