单击图片放大实例

使用wode另存为web页的功能,都会出现类似下列的结构
<p class=MsoNormal align=center style='text-align:center'>
<span lang=EN-US>
<!--[if gte vml 1]>
<v:shape id="_x0000_i1040" type="#_x0000_t75" style='width:290.25pt;height:86.25pt'>
<v:imagedata  src="./9070500.files/image036.png" o:title="W143"/>
</v:shape>
<![endif]-->
<![if !vml]>
<img onclick="fangda_x(this)"  width=387 height=115 src="./9070500.files/image037.jpg" v:shapes="_x0000_i1040">
<![endif]>
</span>
</p>
其中:
<!--[if gte vml 1]>    若支持vml
<![endif]-->
<![if !vml]>  若不支持vml
<![endif]>
注:vml是w3c组织的平面矢量图标准,目前ws对其支持不力,但在office及word中对其有所扩展。

使用时必须有下面的声明
<html xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns="http://www.w3.org/tr/rec-html40">
<head>
<style>
v\:* {behavior:url(#default#vml);}
o\:* {behavior:url(#default#vml);}
w\:* {behavior:url(#default#vml);}
.shape {behavior:url(#default#vml);}
</style>

在你的应用中,由于只对img标签进行了处理,而未对支持vml的情况进行加工,所以就会出现你所遇到的情况。

解决的办法有二:
1。去处所有与vml相关的内容。优点是体积变小,缺点是有可能造成显示格式的变化
2。对vml相关部分增加相应处理。优点是修改量小,确保样式,缺点是体积增大

在js文件中增加一个函数

function fangda(the) {
  var x_x=parseInt(the.style.width);
  var y_x=parseInt(the.style.height);
  var i_x=1.2;
  if (event.ctrlKey) {
    x_x=x_x/i_x;
    y_x=y_x/i_x;
  }else {
    x_x=x_x*i_x;
    y_x=y_x*i_x;
  }
  the.style.width=x_x;
  the.style.height=y_x;
}

对html文档的对应部分加入事件处理
<p class=MsoNormal align=center style='text-align:center'>
<span lang=EN-US>
<!--[if gte vml 1]>
<v:shape id="_x0000_i1040" onclick="fangda(this)" type="#_x0000_t75" style='width:290.25pt;height:86.25pt'>
<v:imagedata  src="./9070500.files/image036.png" o:title="W143"/>
</v:shape>
<![endif]-->
<![if !vml]>
<img onclick="fangda_x(this)"  width=387 height=115 src="./9070500.files/image037.jpg" v:shapes="_x0000_i1040">
<![endif]>
</span>
</p>

注意:是加在标签v:shape里,而不是v:imagedata


300*300
  • 没有相关文章
  • 没有评论
 文章首页关于迷茫时代关于我写意人生
版权所有:迷茫时代 All rights reserved   
执行时间:0.00351 秒