| 
		
			Сообщение от bes
			
		
	 | 
	| 
		Насколько я понимаю, проблема здесь заключается в том, что задание свойства display в тегах <style></style> не приводит к установке свойства div.style.display, хотя отображение корректное (почему так происходит сам хотел бы узнать), собственно установка этого свойства происходит после первого клика, поэтому дальше всё "работает как часы".
	 | 
	
	
	| 
		
			Сообщение от Octane
			
		
	 | 
	
		В style хранятся стили из соответствующего атрибута. Вычисленные стили получают следующим образом: 
var computedStyle = div.currentStyle || getComputedStyle(div, null);
	 | 
	
ответ уже был дан,чего ещё узнавать?
а чтоб работало изначально,без вычисления внешних стилей условие достаточно поменять
if (div.style.display == 'block') 
    div.style.display = 'none';
  else 
    div.style.display = 'block';