主题:  山人前辈请进!

网络小精灵

职务:普通成员
等级:3
金币:1.1
发贴:761
注册:2001/2/24 10:46:07
#12003/12/1 20:53:33
我在贵站看到一篇文章《自适应图片大小的弹出窗口》使我受益非浅,文章最后还提到如果图片比较多可以考虑做成htc,请问我该怎么做?
我已经使用
<!--eyunalpla.htc BEGIN-->
<public:component>
<!--给对象添加方法-->
<public:method name="doAdd" />
<public:method name="doReduce" />
<!--给对象添加属性-->
<publicroperty name="link" value="" />
<publicroperty name="action" value="" />
<!--给对象添加事件-->
<public:attach event="onmouseover" onevent="doOver()" />
<public:attach event="onmouseout" onevent="doOut()" />
<public:attach event="onclick" onevent="doClick()" />
<script language="javascript">
var sTimer;//定义计时器全局变量
var sElementId=uniqueID; //取得对象的uniqueID

//鼠标移上时触发函数
function doOver()
{window.clearTimeout(sTimer);
doAdd()
}

//鼠标移出时触发函数
function doOut()
{window.clearTimeout(sTimer);
doReduce();
}

//点击图片时触发函数
function doClick()
{if(link!=""//如果有链接,则打开链接文件
{window.open(link);
return;
}
if(action!=""//如果有调用函数,则执行。
{eval(action);
return;
}
}

function doAdd()
{filters.alpha.opacity++;//增加透明度的值(图片会更清晰)
sTimer=window.setTimeout(sElementId+".doAdd()",5);//每5ms再次调用本函数
}

function doReduce()
{if(filters.alpha.opacity>50)//如果透明度大于50%,减少透明度的值(图片会更模糊)
filters.alpha.opacity--
else
{window.clearTimeout(sTimer);
return
}
sTimer=window.setTimeout(sElementId+".doReduce()",5);//每5ms再次调用本函数
}
</script>
</public:component>
<!--eyunalpla.htc END-->
这个图片半透明,移上鼠标变清晰的效果了,请部能不能一起用两个htc?



我佛山人

职务:版主
等级:4
金币:16.0
发贴:2269
注册:2002/8/7 15:09:27
#22003/12/4 1:40:41
可以,参考渐变效果,改成HTC

可以是两个独立的HTC,然后在CSS里写
.selector{behavior:url(htc1.htc) url(htc2.htc)}



网络小精灵

职务:普通成员
等级:3
金币:1.1
发贴:761
注册:2001/2/24 10:46:07
#32003/12/4 18:50:05
我是这样做的:

<script>
function fiximgwin(url){
var imgwin=window.open('','img','width=50,height=50')//打开一个空白窗口,并初始化大小
imgwin.focus()//使窗口聚焦,成为当前窗口
var HTML="<html>\r\n<head>\r\n<title>图片浏览</title>\r\n</head>\r\n<body leftmargin=\"0\" topmargin=\"0\">\r\n<img src=\""+url+"\" onload=\"window.resizeTo(this.width+10,this.height+28);window.moveTo((screen.width-this.width)/2,(screen.height-this.height)/2-20)\">\r\n</body>\r\n</html>"//这里是关键代码,在图片加载完后调用resizeTo()和moveTo()方法调整窗口大小和位置
var doc=imgwin.document
doc.open("text/html","replace"//指定文档的多用途网际邮件扩充协议
doc.write(HTML)//向空白窗口写入代码
doc.close()//关闭输入流,并强制发送数据显示。
}
</script>
另存为link.htc,原后在css.css里写入这么一句:
.selector{
behavior:url(eyun_alpha.htc) url(link.htc);
cursor:url('../pic/link.ani');
filter:alpha(opacity=50);
}
但是试验没成功,主要问题是这一句不知道怎么写:
<img border="0" onclick=fiximgwin("../photo/123.jpg" src="../photo/123.jpg" width="78" height="130" class="selector">
请指教。



网络小精灵

职务:普通成员
等级:3
金币:1.1
发贴:761
注册:2001/2/24 10:46:07
#42003/12/8 15:14:11
而且alt的属性也不能用了,怎么办?