闻泰论坛's Archiver

欢迎使用InterPhoto图片网站管理系统

assert 发表于 2010-3-5 13:11

上传图片稍大时,只能显示部分

上传图片过大时,能不能自动适应,现在的话就只显示部分,不合适

weenfier 发表于 2010-3-5 13:20

不能自动适应,除非自己加JS代码进行处理。目前的状态只显示太大图片的一部分是为了保证页面不被撑破。

weenfier 发表于 2010-3-5 13:26

比如修改themes/comments.php文件,添加一些JS:

        $CommentList .= '</ol>
        <script language="JavaScript">
        var imgObj;
        for( i = 0; i < document.getElementById("Comments").getElementsByTagName("img").length; i++ )
        {
         imgObj = document.getElementById("Comments").getElementsByTagName("img")[i];
         if ( imgObj . width > 560 )
         {
          imgObj.width = 560;
         }
         if ( imgObj.height > 460 )
         {
          imgObj.height = 460;
         }
        }
        </script>
        </div>';

steven 发表于 2010-7-17 16:38

这个js代码比老大的那段更灵活

打开themes/comments.php文件
查找:
$CommentList .= '</ol></div>';

在</ol></div>之间插入下面的代码:

<script language="JavaScript">
    function DownImage(imgd){   
    var image=new Image();   
    image.src=imgd.src;   
      
    if(image.width>0 && image.height>0){   
           
        if(image.width>=400){    //宽度设置自适应
            imgd.width=400;   
            imgd.height=(image.height*400)/image.width;   
        }else{   
            imgd.width=image.width;   
            imgd.height=image.height;   
        }     
    }   
}   
</script>

打开extensions/Attachments/default.php
查找:<img    (注,只有一处有,尽管放心查找,一搜就是)

在<img的结尾处 border="0" ></a> 插入下面的代码
onload="DownImage(this)"

这里完整的代码:
border="0" onload="DownImage(this)" /></a>

保存之后刷新论坛帖子页面看看 :lol

weenfier 发表于 2010-7-17 16:59

不错。学习一下。

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.