我在修改pjblog程序时出现的问题:/common/common.js 文件中,开头的一段代码,用于控制网页内的图片格式://查找网页内宽度太大的图片进行缩放以及PNG纠正
function ReImgSize(){
for (i=0;i<DOCUMENT.IMAGES.LENGTH;I++)
{
if (document.all){
if (document.images.width>350)//如果网页内图片宽度大于这个值
{
document.images.width="300"//则强制宽度为该值
document.images.outerHTML=''+document.images.outerHTML+''//并以lightbox效果展示
}
}
else{
if (document.images.width>500) { //如果网页内图片宽度大于这个值,则在新窗口中打开
document.images.title="在新窗口打开图片"
document.images.style.cursor="pointer"
document.images.onclick=function(e){window.open(this.src)}
}
}
}
}
我分析这段代码的意思是:如果页面中的图片宽度大于350,则强制宽度为300,并且使用lightbox效果。如果宽度大于500,则在新窗口中打开。我现在想要的效果是:再加上一句,如果图片宽度小于等于350,则保持原来尺寸,并且使用lightbox效果打开。
其实我的最终目的也就是想让所有的博客里的帖图(系统图标除外)启用lightbox效果,而现在是小于350则无效。在我看来,应该是和那段if语句有关,好像存在一个三层循环:如果:                                         那么:
图片宽度 = < 350px                  保持原尺寸,并且使用lightbox效果打开图片宽度>350px                        强制宽度改为300px,并且使用lightbox效果打开图片宽度> 500px                       在新窗口中打开我现在就是不知道这个循环语句的代码怎么写?所以在这里期待高手的出现 

解决方案 »

  1. JS的语句能实现出什么效果不太懂
    不过按照上面你给出的语句的意思来看,这样不就可以了么,if (document.images.width>350)
    {
    document.images.width="300"
    document.images.outerHTML=''+document.images.outerHTML+''
    }
    else         //小于等于300时
    {
    document.images.outerHTML=''+document.images.outerHTML+''
    }
      

  2. 楼主,我一巴掌扇飞你
    document.all是用来判断浏览器类型的,如果为true表示ie,false为其他的,如ff。当为ie时,并且图片宽度超过350,则强行设为300,否则不做任何处理。因为非ie对outerhtml这个属性不支持,这个属性是在微软的JScript出来的,注意与JavaScript的区别.
    当不为ie时,且宽度大于500时,给图片附加一个click事件,并且定义点击后的动作。在这里为新打开个窗口显示图片。LZ,你的分析方向都差了十万八千里了。
      

类似问题 »