关于IE10以下的img标签问题解决
之前写过的一段简单的demo,后来在IE10以下使用的时候发现无法使用,先上一段代码 HTML: <div class="all" id="box"> <img id="image" src=http://www.jb51.net/web/"psb.png" width="512" height="1470" > <span id="up"></span> <span id="down"></span> </div> CSS: .all{ position: relative; width: 512px; height: 400px; border: 1px solid #000; margin:100px auto; overflow: hidden; } span{ width: 512px; height: 200px; position: absolute; left: 0; top: 0; cursor: pointer; } #down{ top: auto; bottom: 0; } JS: var ops = document.getElementById('image'), oup = document.getElementById('up'), odown = document.getElementById('down'), obox = document.getElementById('box'), timer = null; num = 0; oup.onmouseover = function(){ clearInterval(timer); timer = setInterval(function(){ num -= 4; if(num < -1070){ num = -1070; clearInterval(timer); } ops.style.marginTop = num+'px'; },30) } odown.onmouseover = function(){ clearInterval(timer); timer = setInterval(function(){ num += 4; if(num > 0){ num = 0; clearInterval(timer); } ops.style.marginTop = num+'px'; },30) } obox.onmouseout = function(){ clearInterval(timer); } 实现的效果就是当鼠标移动到上面span的时候,图片向上移动,移动到下面span的时候,图片向下移动,离开则停止。 然而在IE10以下版本鼠标移上span的时候没有任何效果。 进过多次测试,发现了两种解决办法 方法一: 进过测试发现如果给span加上背景颜色的话, 鼠标移上又有效果了 增加代码: background: #fff; opacity: 0; filter:alpha(opacity=0); 添加背景色,然后设置为透明,因为opacity有兼容问题,所以加上filter,最后效果和之前完全一样 方法二: 后来问了朋友,说是img标签在IE10嵌套以下会有,所以把img标签放到div外面来 <img id="image" src=http://www.jb51.net/web/"psb.png" width="512" height="1470" > <div class="all" id="box"> <span id="up"></span> <span id="down"></span> </div> (编辑:焦作站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |