var swf_height=show_text==1?pic_height+20:pic_height;
var pics="", links="", texts="";
for(var i=1; i<imag.length; i++){
pics=pics+("|"+imag[i]);    //所有要显示的图片地址,以"|"为分隔符
links=links+("|"+link[i]);  //所有要显示的图片的链接,以"|"为分隔符
texts=texts+("|"+text[i]);  //所有要显示的图片的文字说明,以"|"为分隔符
}
pics=pics.substring(1);
links=links.substring(1);
texts=texts.substring(1);
document.writeln("pics="+pics);
document.writeln("links="+links);
document.writeln("texts="+texts);
document.writeln("pic_width="+pic_width);  //此值是286,即动画宽度是286
document.writeln("pic_height="+pic_height);//此值是237,即动画宽度是237
document.writeln("swf_height="+swf_height);//此值是237,即动画宽度是237。以上六行调试程序用的
document.writeln('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cabversion=6,0,0,0" width="'+ pic_width +'" height="'+ swf_height +'">');
document.writeln('<param name="movie" value="'+flashdns+'js/focus.swf">');
document.writeln('<param name="quality" value="high"><param name="menu" value="false"><param name="wmode" value="opaque">');
document.writeln('<param name="FlashVars" value="pics='+pics+'&links='+links+'&texts='+texts+'&pic_width='+pic_width+'&pic_height='+pic_height+'&show_text='+show_text+'&txtcolor='+txtcolor+'&bgcolor='+bgcolor+'&button_pos='+button_pos+'&stop_time='+stop_time+'">');
document.writeln('<embed src="'+flashdns+'js/focus.swf" FlashVars="pics='+pics+'&links='+links+'&texts='+texts+'&pic_width='+pic_width+'&pic_height='+pic_height+'&show_text='+show_text+'&txtcolor='+txtcolor+'&bgcolor='+bgcolor+'&button_pos='+button_pos+'&stop_time='+stop_time+'" quality="high" width="'+ pic_width +'" height="'+ swf_height +'" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />');
document.writeln('</object>');运行结果是大于286*237的图片都显示左上部分。如何能使动力自动缩放成286*237?

解决方案 »

  1.   

    美工处理图片是正解!还可以设置 img 的 宽和高。但是可能会变形
      

  2.   

    的确有时不必麻烦到美工。
    但有时候,必须让美工做。比如图片大到1、2兆,你还不让美工处理一下?不说那个。单说缩小的话,方式很多。不知你是何角色,如果是前台,CSS和CSS SPRITE应该知道吧。一个大图,你可以通过JS动态获得图像自然尺寸,然后按定位于中心的方式,计算出要显示的区域的LEFT,TOP,HEIGHT,WIDTH,设置一下这些CSS属性就有了。还不知怎么具体做的话,就补充一下你的职业能力。我是软件出身的,偶尔网页看多点,瞄一眼都知道了,作为你的专职,你还有什么好说呢。
      

  3.   

    在css中设置图片的max-height 和 max-width属性就可以实现缩放了,不用js那么复杂啊
      

  4.   

    设置大致比例,然后overflow:hidden吧