your wasVisible variable wasVisible always return true
- you can put
toggle in the last part.
You can reorder your code as follows.
$('#buttons1').on('click', function(event) { var wasVisible = $("#button1content").is(":visible"); if(!wasVisible) { $("#buttons1").css("opacity", "0.5"); } $('#button1content').toggle('show'); });
JSFIDDLE DEMO
OR
like this:
$('#buttons1').on('click', function(event) { $('#button1content').toggle(); var wasVisible = $("#button1content").is(":visible"); if(!wasVisible) { $("#buttons1").css("opacity", "0.5"); } });
JSFIDDLE DEMO
source share