标题: JS&RE 控制图片显示大小, 弹出窗口自适应大小,自居中, 结合UBB与正则使用 By Stabx
正文:
正文:
QUOTE:
实现功能:
1. 图片宽度如果大于 ##, 则显示为 ##, 小于则显示为默认. /Javascript
2. 点击图片弹出图片链接, 窗口自动适应图片大小, 并且弹出窗口居中显示. /Javascript
注: 可在页面上使用任何次数, 不需指定ID.
其他:
1. 正则替换 UBB 输入格式的图片地址为 热链接 /Regular Expression - encode
2. 正则解码 HTML IMG 标签. /Regular Expression - decode
shawl.qiu
2006-5-24
CODE:
Javascript 函数:
CODE:
正则替换:
//这是 ASP VBSCRIPT 中的正则
Regular Expression:
1. 正则替换 UBB IMG 标签为 HTML IMG 标签:
正则内容:
re.Pattern = "/[img/]((http/:)|())(.*?)/[//img/]"
str = re.Replace(str,"<img οnlοad=""this.width=show(this.width)"" onClick=""openautosize(this.src)"" src=$2$3$4>")
2. 正则解码 HTML IMG 标签为 UBB IMG 标签
正则内容:
re.Pattern = "<img.*?src=(.*)?/>"
Str = re.Replace(Str,"[img]$1[/img]")
注: 使用正则特别特别要注意的就是各个正则的使用顺序.
<script LANGUAGE="JAVASCRIPT">
//检查图片大小是否大于预期大小, 大于则显示为预期大小
function show(chkw) { //chk size
if(chkw>500) {
chkw=500;
}
else {
chkw=chkw;
}
return chkw;
}//script by shawl.qiu
//example: <img src="images/03.jpg" onClick="openautosize(this.src)" οnlοad="this.width=show(this.width)">
//弹出窗口, 自适应图片大小,并自动居中显示
function openautosize(ourl) { //ourl 为接收图片地址
dimg = new Image(); //建立图像对象
dimg.src = ourl; //确定图像地址
w = dimg.width ; //图像宽度
h = dimg.height; //图像高度
x = (screen.width - w) / 2; //减去图片宽度, 然后宽/2
y = (screen.height - h) / 2; //减去图片高度, 然后宽/2
window.open(ourl,"newwindow","location=1,width="+w+",height="+h+",top="+y+",bottom="+y+",left="+x+",right="+x) ;
}//shawl.qiu script
//example: <img src="images/03.jpg" onClick="openautosize(this.src)" οnlοad="this.width=show(this.width)">
</script>
示例:
<img src="images/03.jpg" onClick="openautosize(this.src)" οnlοad="this.width=show(this.width)" ><br>
<img src="images/01.jpg" onClick="openautosize(this.src)" οnlοad="this.width=show(this.width)" >