jQuery animate()2个元素之间的奇怪空间

时间:2012-09-04 14:21:26

标签: jquery jquery-animate slider

我正在用jQuery编写一个滑块。

它有效,但我有一个问题,当我的滑块滑动与animate()我的2个元素时,我在这两个元素之间有一个空白区域和一个“滞后”(滞后,小小的...),我不喜欢我不知道如何删除它。

这里,html代码:

 <div class="wrapperActusSlide">
<div class="numActusSlide"><span class="rien">20</span></div>
<div class="imgActusSlide"><img src="bamboo_orchestra_act.jpg" alt="Le Quintette Bamboo Orchestra" width="385px" height="254px" /></div>
   <div class="wrapperInnerImgActuSlide">
      <span class="goToEvt"><a href="quintette_bamboo_orchestra.html">Aller à l'évènement</a></span>
      <div class="resume">
         <h3><a href="quintette_bamboo_orchestra.html">Quintette Bamboo Orchestra</a></h3>
         <p>Samedi 29 septembre</p>
   </div>
</div>

</div><div class="wrapperActusSlide">
<div class="numActusSlide"><span class="rien">18</span></div>
<div class="imgActusSlide"><img src="bateau_nino_act.jpg" alt="Le Bateau de Nino" width="385px" height="254px" /></div>
   <div class="wrapperInnerImgActuSlide">
      <span class="goToEvt"><a href="le_bateau_de_nino.html">Aller à l'évènement</a></span>
      <div class="resume">
         <h3><a href="le_bateau_de_nino.html">Le Bateau de Nino</a></h3>
         <p>Vendredi 12 octobre</p>
   </div>
</div>

</div><div class="wrapperActusSlide">
<div class="numActusSlide"><span class="rien">20</span></div>
<div class="imgActusSlide"><img src="clan_des_divorcees_act.jpg" alt="Le Clan des divorcées" width="385px" height="254px" /></div>
   <div class="wrapperInnerImgActuSlide">
      <span class="goToEvt"><a href="le_clan_des_divorcees.html">Aller à l'évènement</a></span>
      <div class="resume">
         <h3><a href="le_clan_des_divorcees.html">Le Clan des divorcées</a></h3>
         <p>Vendredi 19 octobre</p>
   </div>
</div>

</div>

在这里,jQuery代码:

var timer;

$(document).ready(function() {
  //On fait floater
  $(".wrapperActusSlide").css("float","left"); 


  fermeTout();
  affichePremier();  
  timer = setTimeout('afficheTime()',5000);

  //Click sur une actu
  $('.numActusSlide').click(function(){
    if($(this).parent().attr('class') == "wrapperActusSlide actif"){
        fermeActif();      
    }
    else{
        fermeActif();
        afficheClick($(this).parent());
    }     
  });   
}); 

function afficheTime(){ 
    afficheSuivant();
    timer = setTimeout('afficheTime()',5000);
}

function afficheClick(element){
  //on affiche l'élement cliqué
  element.stop().animate({"width": "384px"}, 1000);
  element.children(".imgActusSlide").stop().animate({"width": "384px"}, 1000).css('display','block');
  ouvre(element);
  window.clearTimeout(timer);
}

function afficheSuivant(){
    var indice = 99;
    var indiceMax = $(".wrapperActusSlide").size();

    //on affiche le suivant
    $(".wrapperActusSlide").each(function(index){       
        if($(this).attr('id') == "actif"){ 
            indice = index+1;
        }       
        if(indice >= indiceMax){
            indice = 0;
        }
    });


    $(".wrapperActusSlide").each(function(index){       
        if(indice == index){ 
            fermeActif();
            $(this).stop().animate({"width": "384px"}, 2000);
            $(this).children(".imgActusSlide").stop().animate({"width": "384px"}, 2000).css('display','block');
            ouvre($(this));
        }            
    });
}

function affichePremier(){
  //on affiche le premier
  $(".wrapperActusSlide").each( function(index){
    if(index == 0){
        $(this).stop().animate({"width": "384px"}, 1000);
        $(this).children(".imgActusSlide").stop().animate({"width": "384px"}, 1000).css('display','block');
        ouvre($(this));
    }
  });  
}

function fermeTout(){
    //on retrecit les autres
    $(".wrapperActusSlide").each( function(){
    $(this).css('width','28px');
    $(this).children(".imgActusSlide").css('width', "28px").css('overflow','hidden');
    ferme($(this));
  });
}

function fermeActif(){
    //on retrecit les autres
    $("#actif").css('width','28px');
    $("#actif").children(".imgActusSlide").css('width','28px').css('overflow','hidden');
    ferme($("#actif"));
}

function ferme(mon_div){
  //On fait disparaitre les textes
  $(mon_div).children(".wrapperInnerImgActuSlide").css('display','none');
  $(mon_div).children(".numActusSlide").show();
  $(mon_div).removeClass('actif');
  $(mon_div).removeAttr('id');
}

function ouvre(mon_div){
  //On fait apparaitre les textes
  $(mon_div).children(".wrapperInnerImgActuSlide").css('display','block').fadeIn(2000);
  $(mon_div).children(".numActusSlide").hide();
  $(mon_div).addClass('actif');
  $(mon_div).attr('id','actif');
} 

如果你可以重现这个问题,你能帮助我吗?

0 个答案:

没有答案