Próbuję zrobić okienko powiększające obraz, które wyłącza się po kliknięciu na nie. Działa bez problemu na operze, chromie i ff. Na safari nie chce się wyłączyć, a na IE w ogóle nie działa. Gdzie może być błąd? Skrypt odpalam na wordpressie.
Skrypt wygląda tak:
function openWindow(url) {
if(window.innerWidth >= 640) {
jQuery('body').prepend('
<div id="popupback"></div>');
jQuery('body').prepend('
<div id="popupwindow" onclick="closeWindow()"><img id="popupimg" class="img-responsive" src="'+url+'" /></div>');
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?