however I think you would need a state for each item - that tells whether it is already in its fading state so it doesn't restart fade midway and look awkward.
Just checking first and last item's opacity should do it.
Nothing happens between a click on menu button and last drop down item's opacity being at 100
And the other way around click does nothing until the top item is at opacity 0