IE10以下的img標簽問題


之前寫過的一段簡單的demo,后來在IE10以下使用的時候發現無法使用,先上一段代碼

HTML:

1 <div class="all" id="box">
2     <img id="image" src="psb.png" width="512" height="1470" >
3     <span id="up"></span>
4     <span id="down"></span>
5 </div>

CSS:

 1 .all{ 
 2     position: relative;
 3     width: 512px; 
 4     height: 400px; 
 5     border: 1px solid #000; 
 6     margin:100px auto; 
 7     overflow: hidden;
 8 }
 9 span{
10     width: 512px; 
11     height: 200px; 
12     position: absolute; 
13     left: 0; 
14     top: 0; 
15     cursor: pointer;
16 }
17 #down{ 
18     top: auto; 
19     bottom: 0; 
20 }

JS:

 1 var ops = document.getElementById('image'),
 2     oup = document.getElementById('up'),
 3     odown = document.getElementById('down'),
 4     obox = document.getElementById('box'),
 5     timer = null;
 6     num = 0;
 7 
 8 oup.onmouseover = function(){             
 9     clearInterval(timer);
10     timer = setInterval(function(){
11         num -= 4;
12         if(num < -1070){
13             num = -1070;
14             clearInterval(timer);
15         }
16         ops.style.marginTop = num+'px';
17     },30)
18 }
19 
20 odown.onmouseover = function(){   
21     clearInterval(timer);
22     timer = setInterval(function(){
23         num += 4;
24         if(num > 0){
25             num = 0;
26             clearInterval(timer);
27         }
28         ops.style.marginTop = num+'px';
29     },30)
30 }
31 
32 obox.onmouseout = function(){ 
33     clearInterval(timer);
34 }

實現的效果就是當鼠標移動到上面span的時候,圖片向上移動,移動到下面span的時候,圖片向下移動,離開則停止。

然而在IE10以下版本鼠標移上span的時候沒有任何效果。

進過多次測試,發現了兩種解決辦法

方法一:

  進過測試發現如果給span加上背景顏色的話, 鼠標移上又有效果了

  增加代碼:

1 background: #fff;
2 opacity: 0;
3 filter:alpha(opacity=0);

  添加背景色,然后設置為透明,因為opacity有兼容問題,所以加上filter,最后效果和之前完全一樣

方法二:

  后來問了朋友,說是img標簽在IE10嵌套以下會有,所以把img標簽放到div外面來

1 <img id="image" src="psb.png" width="512" height="1470" >
2 <div class="all" id="box">       
3     <span id="up"></span>
4     <span id="down"></span>
5 </div>

  然后再把樣式修改好,最后也是可以解決問題


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM