zoukankan      html  css  js  c++  java
  • 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>

      然后再把样式修改好,最后也是可以解决问题

  • 相关阅读:
    Java数据结构与算法(24)
    urllib2使用总结
    Python常见文件操作的函数示例
    Java数据结构与算法(23)
    python代码风格检查工具──pylint
    Python抓取框架:Scrapy的架构
    Java数据结构与算法(22)
    【codeforces 431D】Random Task
    【codeforces 449C】Jzzhu and Apples
    【codeforces 20B】Equation
  • 原文地址:https://www.cnblogs.com/liudongpei/p/6158752.html
Copyright © 2011-2022 走看看