首页 新闻 搜索 专区 学院

ie6中为什么svg总是不显示,装个SVGView后,显示的svg总是遮盖img元素

0
[待解决问题]

做一个播放轨迹的功能,用到svg,在火狐中正常,在ie中总是有问题。总是遮挡img图片,这是ie中的情况:

下面是火狐中的截图:

下面是html中的代码:

View Code
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
5 <title>轨迹播放</title>
6 <script type="text/javascript">
7 var data = [0, 0, 0, 20, 20, 20, 20, 40, 40, 40, 40, 60, 60, 100, 100, 200, 200, 300, 300, 500, 500, 700];
8 var tempData = 0;
9 function divCreate(){
10 var test = document.getElementById("div1");
11 test.style.display = "block";
12 if (tempData < data.length) {
13 var x = data[tempData];
14 var y = data[tempData + 1];
15 var map = document.createElement("img");
16 map.src = "pin30_green_h5.png";
17 map.style.top = y - 20 + "px";
18 map.style.left = x + "px";
19 map.style.position = "absolute";
20 test.appendChild(map);
21 tempData += 2;
22 }
23 }
24
25 function play(datastatus){
26 var oDiv = document.getElementById("div1");
27 oDiv.innerHTML=null;
28 if (tempData < data.length) {
29 if (datastatus == 1) {
30 window.setInterval(divCreate, 1000);
31 }
32 else {
33 divCreate();
34 }
35 }
36 }
37
38 function init(){
39 while(tempData<data.length){
40 divCreate();
41 }
42 tempData = 0;
43 }
44 </script>
45 </head>
46 <body onload="init()">
47 <div id="div1">
48 </div>
49 <embed name="polyline" src="polyline1.svg" width="500" height="800" type="image/svg+xml" pluginspage="http://www.adobe.com/svg/viewer/install/" /><input type="button" value="播放" onclick="play(1)">
50 </body>
51 </html>
Mygirl的主页 Mygirl | 初学一级 | 园豆:200
提问于:2011-04-07 10:57
< >
分享
所有回答(1)
0

因为IE6根本就不支持SVG,用了插件就和FLASH一样总能把别的盖住,要画就用VML吧,推荐RaphaelJS库,能帮你做掉兼容问题

Gray Zhang | 园豆:17610 (专家六级) | 2011-04-07 11:59
哦 这样啊 谢谢您
支持(0) 反对(0) Mygirl | 园豆:200 (初学一级) | 2011-04-08 08:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册