<script language="javascript">
function clip()
{
   var x=480;
   document.getElementById("picDiv").style.clip="rect(0px,600px,300px,"+x+"px)";

</script>
<div id="picDiv" style=" position:absolute;width:600;height:300;zoom:0.8;" onclick="javascript:clip();"><img id="pic"  src="/userpic/finish.png" alt="" border="0" /></div>如上代码。问题:当缩放控制为1也就是不缩放时,控制div的显示区域clip没有任何问题。当进行了缩放时,比如缩小至80%,此时如果要显示一半的话X点位置(需求要求从左边开始裁切显示区域,不考虑从右边也就是x+width位置裁切,呼~不知道俺表达清楚么?)为300而不是600*0.8/2=240,这个比较奇怪不知道为什么,暂且不管。主要问题出在当裁切X坐标超过当前宽度缩放比率后裁切玩后图片没了。这个例子也就是当x<480时可以正常裁切,一旦x>=picDiv.style.width* picDiv.style.zoom=480时,裁切回出问题。求哪位大神给个解决办法!!!!!!!!!!

解决方案 »

  1.   

    http://www.w3school.com.cn/css/pr_pos_clip.asprect (top, right, bottom, left)
      

  2.   

    直接用在img上看看 或者将img也zoom
      

  3.   

    这个属性用于定义一个剪裁矩形。对于一个绝对定义元素,在这个矩形内的内容才可见。出了这个剪裁区域的内容会根据 overflow 的值来处理。剪裁区域可能比元素的内容区大,也可能比内容区小。绝对位置--------定义
      

  4.   

    5楼正解,换个思路,zoom不放在div上,放在里面Img就能达到要求!测试通过。thank you