Na początek link: https://codepen.io/anon/pen/WdMLOP?editors=1111
Przeanalizuj sobie na spokojnie co tam się dzieje. Otóż problem w Twoim wypadku prawdopodobnie tkwi w tym, że opacity masz ustawione w CSS, a nie jako style inline (a przynajmniej, mam nadzieję, że nie stosujesz stylowania inline :)
Generalnie działa to tak:
Właściwość style.opacity, style.display itp. itd. odnoszą się do styli przypisanych właśnie inline. Można w ten sposób modyfikować style, np. ustawiając:
element.style.display="none"
ale nie jest to dobry sposób na odczytywanie właściwości. Lepiej w tym celu użyć metody np. getComputedStyle obiektu globalnego window aby wskazać element, który nas interesuje (w dokumentacji poczytaj też o drugim argumencie tej metody, czasami przydatnym). Następnie odczytujesz właściwości z obiektu zwróconego przez tę metodę, np. poprzez metodę getPropertyValue.