您的位置:首页 > Web前端 > JavaScript

哪个美女最漂亮,自己写的js图片自适应切换

2008-07-10 17:08 441 查看
自己手写了个图片自适应切换,功能上很简单,大家也能看到,很明显,代码非常冗余.
var imgSrcList="http://images.cnblogs.com/cnblogs_com/tobin/144465/r_1.jpg,http://images.cnblogs.com/cnblogs_com/tobin/144465/r_2.jpg,http://images.cnblogs.com/cnblogs_com/tobin/144465/r_3.jpg,http://images.cnblogs.com/cnblogs_com/tobin/144465/r_4.jpg,http://images.cnblogs.com/cnblogs_com/tobin/144465/r_5.jpg";
var titleList="美女1,美女2,美女3,美女4,美女5";
var urlList="tobin.cnblogs.com/1,tobin.cnblogs.com/2,tobin.cnblogs.com/3,tobin.cnblogs.com/4,tobin.cnblogs.com/5";
var imgArray=imgSrcList.split(",");
var titleArray=titleList.split(",");
var urlArray=urlList.split(",");
var mainWidth,mainHeight;
var intervalTimer;
var picIndex=-1;
window.onload=function()
{
mainWidth= document.getElementById("PicShowMain").offsetWidth;
mainHeight=document.getElementById("PicShowMain").offsetHeight;
document.getElementById("PicMain").src=imgArray[picIndex+1];
ChangePicSize();
document.getElementById("PicShowText").href=urlArray[picIndex+1];
document.getElementById("PicShowText").title=document.getElementById("PicShowText").innerHTML=titleArray[picIndex+1];
picIndex=0;
intervalTimer=setInterval(ChangePic,5000);

}
function ChangePic()
{
picIndex++;
document.getElementById("PicMain").filters.item(0).transition=Math.floor(Math.random()*23);
document.getElementById("PicMain").filters.item(0).Apply();
document.getElementById("PicMain").src=imgArray[picIndex];
ChangePicSize();
document.getElementById("PicShowText").href=urlArray[picIndex];
document.getElementById("PicShowText").title=document.getElementById("PicShowText").innerHTML=titleArray[picIndex];
document.getElementById("PicMain").filters.item(0).Play();
if(picIndex>=imgArray.length-1)
picIndex=-1;
}
function GetPicSize(picUrl)
{
var size=new Array();
var img=new Image();
img.src=picUrl;
size[0]=parseInt(img.width);
size[1]=parseInt(img.height);
return size;
}
function ChangePicSize()
{
var picsize=GetPicSize(document.getElementById("PicMain").src);
if(mainWidth<=picsize[0]&&mainHeight>=picsize[1])
{
document.getElementById("PicMain").width=mainWidth;
document.getElementById("PicMain").removeAttribute("height");
}
else if(mainWidth>=picsize[0]&&mainHeight<=picsize[1])
{
document.getElementById("PicMain").height=mainHeight;
document.getElementById("PicMain").removeAttribute("width");
}
else if(mainWidth<=picsize[0]&&mainHeight<=picsize[1])
{
if(picsize[0]/mainWidth=picsize[0]&&mainHeight>=picsize[1])
{
if(mainWidth/picsize[0]

</script>

<div style="width: 400px;">

<div id="PicShowMain" style="overflow: hidden; width: 400px; height: 300px; text-align: center;"><img id="PicMain" onmouseover="mmin()" onmouseout="mmout()" alt="" src="http://images.cnblogs.com/cnblogs_com/tobin/144465/r_1.jpg" style="filter: revealTrans(duration=3,transition=100)" border="0" /></div>

<div><a id="PicShowText" href="http://www.cnblogs.com/tobin/admin/EditPosts.aspx?opt=1#"></a></div>

</div>



代码很简单,没什么特别的地方:

准备写成这种形式:
</script>
但实在是个人对这个this的用法确实不了解。希望有高手能帮我封装一下。

这个只是最简单的,等我学会了这种方式的初始化以后会写成asp.net 控件,原来封装了一个flash+js实现的,可惜flash不是俺写的,链接不好控制,所以准备自己动手写一个。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: