2012-11-21 11 views
6

Co mam nadzieję osiągnąć, gdy zatrzymam wskaźnik myszy nad elementem w tablicy deptmts, odpowiedni element w tablicy brnches jest następnie wyszarzany. Dodałem poniżej, co uważałem, że powinno być, ale nie jestem pewien, gdzie idę źle. Każda pomoc byłaby bardzo cenna.Umieść element tablicy, aby zanikać odpowiedni element w innej tablicy [Problem z zamknięciem]

var brnches = ["#branch01","#branch02","#branch03","#branch04"] 
var deptmts = ["#depart01","#depart02","#depart03","#depart04"] 

var brchhov = function() { 
    for(var i=0; i<deptmts.length; i++){ 
     $(deptmts[i]).hover(
      function(){$(brnches[i]).stop(true).fadeTo("fast", 1);}, 
      function(){$(brnches[i]).stop(true).fadeTo("slow", 0);} 
     ); 
    } 
}; 
+1

Just an off topic uwaga, dlaczego stosowanie brnches & deptmts zamiast oddziałów i działów jak zmienne? Dobre i jasne nazwy zmiennych mogą być tak długie w wyjaśnianiu kodu. –

+1

@MorganWilde: Przepraszam, tak, masz rację, powinienem je zmienić po skopiowaniu wszystkiego. Skróciłem je tylko dla moich osobistych preferencji, zachowując tę ​​samą długość znaków. Na plus wciąż rozumiesz, o co im chodziło :) ... ale tak, to zła praktyka. – dev

Odpowiedz

10

Klasyczne zamknięcie Issue ..

var brchhov = function() { 
    for(var i=0; i<deptmts.length; i++){ 
     (function(num){ 
      $(deptmts[num]).hover(
       function(){$(brnches[num]).stop(true).fadeTo("fast", 1);}, 
       function(){$(brnches[num]).stop(true).fadeTo("slow", 0);} 
      ); 
     })(i); 
    } 
}; 

Check Fiddle

+0

+1, ponieważ spełnia on wymaganie '... kiedy umieszczam wskaźnik myszy nad elementem w tablicy deptmts, odpowiadający element w tablicy brnches jest następnie wyszarzany. @vletech: Jako notatka nie ma korelacja między zakrytym działem a wyblakłą gałęzią, poza tym, że polegasz na tym, że znajdują się w pasującym/wymaganym zamówieniu. Jeśli zauważysz, że twoje oddziały nie zawsze znajdują się w tym samym indeksie/kolejności, co departamenty, musisz je dopasować do czegoś bardziej wiarygodnego niż indeks elementów. – Nope

+0

@Sushanth: Dziękuję, że działało idealnie, wciąż się uczę, więc to jest to, co zapamiętam. – dev

+0

@ FrançoisWahl: Masz rację, polegałem na tym, że są w tej samej kolejności dla obu tablic, mam nadzieję, że nie będę musiał tego zmieniać. – dev