簡體   English   中英

如何在IE9中將勻場墊片用於classList錯誤?

[英]How do I use a shim for a classList error in IE9?

我試圖按圖標時彈出圖像。 圖像上有一個十字,然后我用它來關閉圖像。 在ie10中可以正常工作,但在ie9(和ie8)中,我收到了classList錯誤。 我嘗試了各種墊片,但錯誤仍然存​​在。 不確定我是否正確使用了墊片。

function myPopFunction(elem) {
var popup = document.getElementById(elem.id+"a");
popup.classList.toggle("showpop");

無法獲取未定義或空引用的屬性“切換”

HTML是:

<div class="popup" onclick="myPopFunction(this)" id="myPop1">
<img src="Images/Slightly%20Smile.png" width="15">
<span class="popupimage" id="myPop1a">
    <div style="position: relative;">
        <img src="Images/dilbert_agile_programming.gif">
        <img src="Images/Cross%20hair%20white%20border%20small.png" class="dropshadow" width="25">
    </div>
</span>

CSS是:

.dropshadow {
border-radius:50%; 
box-shadow: 5px 5px 3px #888888;
position:absolute;
top:-10px; 
right:-10px;    
}

.popup {
position: relative;
display: inline-block;
cursor:pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.popup .popupimage {
visibility: hidden;
position: absolute;
z-index: 1;
top:100%;
left: -320px;  
}
.popup .showpop {
visibility: visible;
-webkit-animation: fadeIn 1s;
animation: fadeIn 1s;
}

@-webkit-keyframes fadeIn {
from {opacity: 0;} to {opacity: 1;}
}
@keyframes fadeIn {
from {opacity: 0;} to {opacity:1 ;}

嘗試使用此polyfill:

https://github.com/Financial-Times/polyfill-service/blob/master/polyfills/Element/prototype/classList/polyfill.js

IE8和IE9可以正常工作,但IE10和IE11則不能工作。

在此處輸入圖片說明

我設法使其在iE9中工作。 將代碼更改為:

function myPopFunction(elem) {
var popup = document.getElementById(elem.id+"a");
var cl=classList(popup);
cl.toggle("showpop");
}

我剛剛意識到,我實際上也希望它能在IE7中工作。 我在上面發布了鏈接的classList.js墊片在ie7中不起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM