Skrypt wygląda tak:
function openWindow(url) { if(window.innerWidth >= 640) { var divwidth = jQuery('#popupwindow').width(); var divheight = jQuery('#popupwindow').height(); var toppos = (window.innerHeight - divheight)/2; var leftpos = (window.innerWidth - divwidth)/2; jQuery('#popupwindow').css({'top': toppos, 'left': leftpos, 'cursor': 'pointer', 'visibility':'visible'}); } } function closeWindow() { jQuery('#popupwindow').remove(); jQuery('#popupback').remove(); }
CSS:
#popupwindow { width: 700px; height: 500px; position: fixed; z-index: 4; visibility:none; background-color:white; border: 5px black solid; text-align:center; } #popupback { width: 100%; height: 100%; position:fixed; z-index:3; visibility:none; background-color:black; opacity: 0.8; } #popupimg { position:relative; margin:auto; top:50%; -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); } .popup-link { display:block; } @media screen and (max-width: 640px) { #popupwindow { display:none; } #popupback { display: none; } }
Skrypt wywołuję w pętli wordpress przy miniaturkach:
<?php if ( has_post_thumbnail() ) { $large_image_url = wp_get_attachment_image_src( get_post_thumbnail_id(), 'large' ); echo '<a class="popup-link" onclick="openWindow(\' ' . $large_image_url[0] . ' \' )" href="#mini-portfolio" title="' . the_title_attribute( 'echo=0' ) . '">'; the_post_thumbnail(); } ?>
Wygląda na to że IE nie respektuje atrybutu onclick przy linkach, działa jakby był tylko href i wszystkie miniaturki kierują mi do #mini-portfolio zamiast otwierać nowego diva ze zdjęciem. Natomiast dlaczego safari nie wyłącza okna to nie mam pojęcia. Pomoże ktoś rozwiązać te problemy?