关于自定义属性Expression???高手Come On

hmbory 2004-03-22 03:43:37
<script>

//定义table的样式.cellSpacing,cellPadding
//borderColorLight ,borderColorDark.

function table3d(obj) {
obj.border=1;
obj.cellSpacing=0;
obj.cellPadding=0;
obj.borderColorLight="#FFFFFF";
obj.borderColorDark="#FFFFFF";
}

//定义td的样式. bgColor
//borderColorLight, borderColorDark

function td3d(obj) {
obj.style.backgroundImage="url(normal_1.gif)";//这一句造成死循环
obj.bgColor="#B7B7B7";
obj.borderColorLight="#000000";
obj.borderColorDark="#EEEEEE";
}
</script>

<style>
<!--定义样式-->
.table3d{baobao:expression(table3d(this))}
.td3d{baobao:expression(td3d(this))}
</style>

<!--做一个立体表格,变得这么容易.只要有就用一个class就可以了.-->

<table class=table3d> <!--应用table3d样式-->
<tr align="center">
<td width="86" class=td3d>立体</td> <!--应用td3d样式-->
<td width="86" class=td3d>表格</td> <!--应用td3d样式-->
</tr>
</table>


说明

.table3d{baobao:expression(table3d(this))}
.table3d 定义一个class,应用没什么说的啦..
baobao 是自已定义的属性,你任意取个名字,用你的英文名...因为这是你自己的CSS啊.
expression()里面的语句就是JavaScript. 一定很熟悉吧..
table3d(this). 调用了前面我们写的函数.这个函数很简单,只是包含了.
对borderColorLight ,borderColorDark,cellSpacing,等的定义.


请问td3d函数的obj.style.backgroundImage="url(normal_1.gif)";为什么会造成死循环?而用obj.style.width=100;之类的都好好的?
...全文
67 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
chx007 2004-03-24
  • 打赏
  • 举报
回复
好难!
hmbory 2004-03-23
  • 打赏
  • 举报
回复
???大侠们快来呀
hmbory 2004-03-22
  • 打赏
  • 举报
回复
这图片可能是经常要改的!目录可能会不一样,但是文件名是一样的!
用CSS可以很方便的进行更改。不是简单的onload就能完成的操作。所以才出此下策:)望高手赐教:)
meizz 2004-03-22
  • 打赏
  • 举报
回复
象这种情况我情愿用一个公用的JS文件在每个网页里都包含的方式来做, 不要把一些比较复杂的事放在 expression 里做, 因为那太耗资源了. 放在JS文件的做法可以这样:
window.attachEvent("onload", function(){td3d();})} 这样就省去了每个页面里还要另外写代码的问题了.
hmbory 2004-03-22
  • 打赏
  • 举报
回复
如果是这样的话那img的src可不可以用样式来表示!:)我是想用样式来表示路径,以后图片变了我无须改程序就可以了!
zcflion 2004-03-22
  • 打赏
  • 举报
回复
我刚才试了,是资源大得要死的死循环
zcflion 2004-03-22
  • 打赏
  • 举报
回复
我以前试的时候用background-color好像不会啊
meizz 2004-03-22
  • 打赏
  • 举报
回复
expression 其实就是一个资源占用不太大的死循环, 有点类似于 setInterval()
所以才造成了你的网页假死, 你完全可以在页面 onload 的时候执行一次就够了, 没有必要用这个东西呀. 建议 expression 还是少用些为好.
hmbory 2004-03-22
  • 打赏
  • 举报
回复
设了background ,结果是一样的!页面上图片还是一直在刷!
meizz 2004-03-22
  • 打赏
  • 举报
回复
既然是TD那你为何不直接使用 background ?
obj.background = "normal_1.gif";

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧