Спойлер автоматически должен закрыться по таймеру
Доброго дня всем хорошим людям))
Задача: сделать спойлер, ограниченный определённым временем открытия по кнопке (клик по кнопке открывает спойлер, а через заданное время спойлер автоматически закрывается). Пожалуйста, подскажите правильный код для IE! |
А что в ie setTimeout не работает?
|
Цитата:
У меня голова пока не работает - только учусь я... если можете, то подскажите! |
Борис К, покажите код, который открывает/закрывает спойлер.
|
Цитата:
<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> |
Предполагаю, что код, что вы представили корректно работает под 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> Спасибо Вам! |
А так?
<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> |
Цитата:
Вот только хотелось бы, чтобы открывшийся блок через какое-то время исчезал (например, через 10 секунд)! |
Борис К, а какая у вас версия ie?
Timeout должен работать. |
Часовой пояс GMT +3, время: 22:07. |