2015-10-10 2 views
0

У меня проблема с jquery hide() и show() в Internet explorer 10. Мне нужно всплывающее окно для баннера, который я создаю , при нажатии на левый нижний угол div будет отображаться, когда div вверх и щелчок в верхнем правом углу div скроется.JQuery hide() show() не работает Internet explorer 10

Эта работа на современном браузере, но не в интернет-проводник 10.

HTML

<div id="banner"> 
<button class="show"></button> 
<div id="modal"> 
<button class="hide"></button> 
</div> 
</div> 

CSS

#banner { 
width: 468px; 
height: 240px; 
border: solid 1px black; 
position: absolute; 
overflow: hidden; 
cursor: pointer; cursor: hand; 
} 

#modal { 
width: 468px; 
height: 240px; 
display: none; 
position: absolute; 
z-index: 9999; 
background-color: red; 
} 

.show { 
width: 80px; 
height: 35px; 
bottom: 0px; 
position: absolute; 
z-index: 12; 
} 

.hide { 
right: 0px; 
top: 0px; 
width: 50px; 
height: 50px; 
position: absolute; 
z-index: 12; 
} 

Jquery

$(document).ready(function(){ 
$(".hide").click(function(){ 
    $("#modal").hide(); 
}); 
$(".show").click(function(){ 
    $("#modal").show(); 
}); 
}); 

EDIT - проблема решена Похоже, вы не можете щелкнуть пустые теги (только указанную ширину/высоту) в IE 10 и ниже, поэтому мне пришлось заполнить его цветом трансперсонала (rgba 0,0,0,0.001).

Я также понял, что это можно сделать без jquery, duh.

+2

Возможный дубликат [Jquery не удается скрыть div в IE10, запущенном в документе IE7 и в браузере) (http://stackoverflow.com/questions/17724437/jquery-fails-to-hide-div-in-ie10-running -in-ie7-document-and-browser-mode) –

+0

Когда вы говорите, что это не работает, что вы имеете в виду? Что происходит, когда вы пытаетесь это сделать? Вы получаете сообщение об ошибке? – Guffa

+0

Модаль не будет отображаться в IE 10, когда я нажимаю кнопку, но она работает и в других браузерах. – Niko

ответ

0

Вы всегда можете использовать ванильный JS, и сделать что-то вроде

document.getElementById('modal').style.display = 'block'; 

и

document.getElementById('modal').style.display = 'none; 

Этот способ также является более эффективным, чем производительность происходит через объект JQuery.

+0

будет работать на IE10? – Niko

+1

Должно быть, я был бы в шоке, если бы не стал. – www139

+0

Ха-ха, я бы очень волновался за все веб-страницы, если это не так! –

0

Скрыть и показать методы Jquery переключает отображение свойств CSS на none/block для применяемого HTML-тега. Так возникает вопрос о совместимости. Просто исправьте ошибку на консоли браузера (F12), если она есть (я увидел один объект без ссылок) и повторите попытку. Также проверьте режим браузера, в котором вы работаете. (F12).

+0

спасибо, будет defenitly делать это, когда я могу получить доступ к ie10 – Niko

Смежные вопросы