Помощь в доработке кода
Здравствуйте!
Есть код <script type="text/javascript"> window.onload= function() { document.getElementById('linkoneclickorder').onclick = function() { openbox('oneclickbox', this); return false; }; }; function openbox(id, linkoneclickorder) { var div = document.getElementById(id); if(div.style.display == 'block') { div.style.display = 'none'; } else { div.style.display = 'block'; } } </script> <a id="linkoneclickorder" class="link-oneclicorder">Купить в 1 клик</a> <div id="oneclickbox" style="display:none;" class="oneclickorder-productview-container"> <div class="oneclickorder-productview"> Тут код формы </div> </div> Блок открывается при клике на ссылку, но его никак не закрыть по клику на ту же ссылку, т.к. блок расположен поверх всего контента. Необходимо: Либо, закрытие блока по клику на body и на oneclickbox, но при этом чтобы при клике на oneclickorder-productview блок не закрывался. Либо кнопка закрыть в пределах блока oneclickbox. Больше всего меня усраивает в этом коде, то, что он без jquery работает. Перепробовал кучу вариантов, ничего не работает, знаний js почти нет. |
stem, так?
<!doctype html> <html lang="en"> <head> <meta charset="utf-8" /> <title></title> <!--<script src="http://code.jquery.com/jquery-latest.js"></script>--> <style> #oneclickbox { background: orange; padding: 50px; width: 30%; } .oneclickorder-productview { background: red; } </style> <body> <a id="linkoneclickorder" class="link-oneclicorder" href="">Купить в 1 клик</a> <div id="oneclickbox" style="display:none;" class="oneclickorder-productview-container"> <button>Закрыть</button> <div class="oneclickorder-productview"> <form action=""> <input type="text" /><br /> <input type="text" /><br /> <input type="submit" /> </form> </div> </div> <script> var open = document.getElementById('linkoneclickorder'), close = document.querySelector('#oneclickbox > button'), oneclickbox = document.getElementById('oneclickbox'); open.onclick = function() { !(oneclickbox.offsetHeight) && (oneclickbox.style.display = 'block'); return false; }; close.onclick = function() { oneclickbox.style.display = (oneclickbox.offsetHeight) ? 'none' : 'block'; }; </script> </body> </html> |
Decode,
Почему-то при вставке на сайт уже не работает, там конфликт библиотек где то, поэтому не все варианты работают, даже fancybox пробовал ставить, не пашет и все.. (( |
stem, что консоль говорит?
|
Часовой пояс GMT +3, время: 03:50. |