| 
	| 
	
	| 
		
	| 
			
			 
			
				01.12.2017, 14:42
			
			
			
		 |  
	| 
		
			
			| Кандидат Javascript-наук       |  | 
					Регистрация: 22.02.2017 
						Сообщений: 145
					 
		
 |  |  
	| 
				Спойлер автоматически должен закрыться по таймеру
			 Доброго дня всем хорошим людям))Задача: сделать спойлер, ограниченный определённым временем открытия по кнопке (клик по кнопке открывает спойлер, а через заданное время спойлер автоматически закрывается).
 Пожалуйста, подскажите правильный код для IE!
 |  |  
	| 
		
	| 
			
			 
			
				01.12.2017, 14:53
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 04.12.2012 
						Сообщений: 3,841
					 
		
 |  |  
	| А что в ie setTimeout не работает? |  |  
	| 
		
	| 
			
			 
			
				01.12.2017, 15:11
			
			
			
		 |  
	| 
		
			
			| Кандидат Javascript-наук       |  | 
					Регистрация: 22.02.2017 
						Сообщений: 145
					 
		
 |  |  
	| 
	
 
	| Сообщение от Nexus   |  
	| А что в ie setTimeout не работает? |  
	
 В ie setTimeout работает)) 
У меня голова пока не работает - только учусь я... если можете, то подскажите! |  |  
	| 
		
	| 
			
			 
			
				01.12.2017, 15:15
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 04.12.2012 
						Сообщений: 3,841
					 
		
 |  |  
	| Борис К, покажите код, который открывает/закрывает спойлер. |  |  
	| 
		
	| 
			
			 
			
				01.12.2017, 15:29
			
			
			
		 |  
	| 
		
			
			| Кандидат Javascript-наук       |  | 
					Регистрация: 22.02.2017 
						Сообщений: 145
					 
		
 |  |  
	| 
Nexus
	
 
	| Сообщение от Nexus   |  
	| Борис К, покажите код, который открывает/закрывает спойлер. |  
	
 , пожалуйста:
 
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script> 
$(document).ready(function(){
    $("#flip").click(function(){
        $("#panel").slideDown("slow");
    });
});
</script>
<style> 
#panel {
    padding: 5px;
    text-align: center;
    background-color: #e5eecc;
    border: solid 1px #c3c3c3;
}
#panel {
    padding: 50px;
    display: none;
}
</style>
</head>
<body> 
<button id="flip">Click</button>
<div id="panel">Hello world!</div>
</body>
</html>
			 Последний раз редактировалось Борис К, 01.12.2017 в 15:32.
 |  |  
	| 
		
	| 
			
			 
			
				01.12.2017, 15:40
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 04.12.2012 
						Сообщений: 3,841
					 
		
 |  |  
	| Предполагаю, что код, что вы представили корректно работает под ie. 
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script> 
$(document).ready(function(){
	var timer=0;
    $("#flip").click(function(){
		clearTimeout(timer);
        $("#panel").slideDown("slow");
		timer=setTimeout(function(){
			$("#panel").slideUp("slow");
		},2000);
    });
});
</script>
<style> 
#panel {
    padding: 5px;
    text-align: center;
    background-color: #e5eecc;
    border: solid 1px #c3c3c3;
}
#panel {
    padding: 50px;
    display: none;
}
</style>
</head>
<body> 
<button id="flip">Click</button>
<div id="panel">Hello world!</div>
</body>
</html>
 |  |  
	| 
		
	| 
			
			 
			
				01.12.2017, 15:45
			
			
			
		 |  
	| 
		
			
			| Кандидат Javascript-наук       |  | 
					Регистрация: 22.02.2017 
						Сообщений: 145
					 
		
 |  |  
	| 
	
 
	| Сообщение от Nexus   |  
	| Предполагаю, что код, что вы представили корректно работает под ie. 
 
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script> 
$(document).ready(function(){
	var timer=0;
    $("#flip").click(function(){
		clearTimeout(timer);
        $("#panel").slideDown("slow");
		timer=setTimeout(function(){
			$("#panel").slideUp("slow");
		},2000);
    });
});
</script>
<style> 
#panel {
    padding: 5px;
    text-align: center;
    background-color: #e5eecc;
    border: solid 1px #c3c3c3;
}
#panel {
    padding: 50px;
    display: none;
}
</style>
</head>
<body> 
<button id="flip">Click</button>
<div id="panel">Hello world!</div>
</body>
</html>
 |  
	
 Спасибо за подсказку! Проверил - не работает... извините!!! 
Поменял на другую библиотеку:
 
<html>
<head>
<script src="http://code.jquery.com/jquery-1.7.1.js"></script>
<script> 
$(document).ready(function(){
    $("#flip").click(function(){
        $("#panel").slideDown("slow");
    });
});
</script>
<style> 
#panel {
    padding: 5px;
    text-align: center;
    background-color: #e5eecc;
    border: solid 1px #c3c3c3;
}
#panel {
    padding: 50px;
    display: none;
}
</style>
</head>
<body> 
<button id="flip">Click</button>
<div id="panel">Hello world!</div>
</body>
</html>
Спасибо Вам!			 Последний раз редактировалось Борис К, 01.12.2017 в 16:02.
 |  |  
	| 
		
	| 
			
			 
			
				01.12.2017, 16:07
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 04.12.2012 
						Сообщений: 3,841
					 
		
 |  |  
	| А так? 
<html>
<head>
	<title>Untitled</title>
	<style> 
		#panel {
			padding: 5px;
			text-align: center;
			background-color: #e5eecc;
			border: solid 1px #c3c3c3;
		}
		#panel {
			padding: 50px;
			display: none;
		}
	</style>
</head>
<body> 
<button id="flip">Click</button>
<div id="panel">Hello world!</div>
<script type="text/javascript"> 
	var timeout=0;
	addEvent(document.getElementById('flip'),'click',function(){
		var panel=document.getElementById('panel');
		panel.style.display='block';
		
		clearTimeout(timeout);
		timeout=setTimeout(function(){
			panel.style.display='none';
		},2000);
	});
	
	function addEvent(elem,evnt,func){
		if(elem.addEventListener)
			elem.addEventListener(evnt,func,false);
		else if(elem.attachEvent)
			elem.attachEvent("on"+evnt,func);
		else
			elem[evnt]=func;
	}
</script>
</body>
</html>
 |  |  
	| 
		
	| 
			
			 
			
				01.12.2017, 16:11
			
			
			
		 |  
	| 
		
			
			| Кандидат Javascript-наук       |  | 
					Регистрация: 22.02.2017 
						Сообщений: 145
					 
		
 |  |  
	| 
	
 
	| Сообщение от Nexus   |  
	| А так? 
 
<html>
<head>
	<title>Untitled</title>
	<style> 
		#panel {
			padding: 5px;
			text-align: center;
			background-color: #e5eecc;
			border: solid 1px #c3c3c3;
		}
		#panel {
			padding: 50px;
			display: none;
		}
	</style>
</head>
<body> 
<button id="flip">Click</button>
<div id="panel">Hello world!</div>
<script type="text/javascript"> 
	var timeout=0;
	addEvent(document.getElementById('flip'),'click',function(){
		var panel=document.getElementById('panel');
		panel.style.display='block';
		
		clearTimeout(timeout);
		timeout=setTimeout(function(){
			panel.style.display='none';
		},2000);
	});
	
	function addEvent(elem,evnt,func){
		if(elem.addEventListener)
			elem.addEventListener(evnt,func,false);
		else if(elem.attachEvent)
			elem.attachEvent("on"+evnt,func);
		else
			elem[evnt]=func;
	}
</script>
</body>
</html>
 |  
	
 Так в IE отлично работает)) 
Вот только хотелось бы, чтобы открывшийся блок через какое-то время исчезал (например, через 10 секунд)! |  |  
	| 
		
	| 
			
			 
			
				01.12.2017, 16:27
			
			
			
		 |  
	| 
		
			
			| Профессор       |  | 
					Регистрация: 04.12.2012 
						Сообщений: 3,841
					 
		
 |  |  
	| Борис К, а какая у вас версия ie?Timeout должен работать.
 |  |  |  |