简单问题,但对我却很难,都快因此失业了,帮忙啊。。。

colee 2002-10-25 09:39:32
要达到下段脚本效果,在下面onload里应该怎么书写?
非常难堪的是:要求里面不能再包含中括号"{"或"}".
<img name="img" onload="javascript:if(this.height>110) this.height=110; ">

<script language="Javascript">

if (width/height>2)
{if (width>220){ width=220;}}
else
{if(height>110){ height=110; }}
}

</script>
...全文
21 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiushuiwuhen 2002-10-25
  • 打赏
  • 举报
回复
在<xsl:comment>
<![CDATA[
中就不用{了
colee 2002-10-25
  • 打赏
  • 举报
回复
我试着改成下面这样:
<script language="JavaScript" For="window" Event="onload">
<xsl:comment>
<![CDATA[
var width,height;
for (var i=0;i<document.imgs.length;i++)
{
width=document.imgs[i].width;
height=document.imgs[i].height;
if(width/height>2)
{ if(width>220) { document.imgs[i].width=220; }}
else
{ if(height>110) { document.imgs[i].height=110; }}
}
]]>//</xsl:comment>
</script>
但提示{错误?
qiushuiwuhen 2002-10-25
  • 打赏
  • 举报
回复
{yourCode}

xslt中
<SCRIPT LANGUAGE="javascript"><xsl:comment><![CDATA[
]]>//</xsl:comment></SCRIPT>
wangxj0600 2002-10-25
  • 打赏
  • 举报
回复
同意flashsoft2000(FS2K) ,如果是定义对象的事件,所有的该对象都会调用。
colee 2002-10-25
  • 打赏
  • 举报
回复
上面两位大哥的意见我都用过,

原谅我没有说清楚,我是用的ASP调用数据库后转化成xml,再用xslt来显示的。我曾经用过下面的脚本放在XSLT文件来里,但无效,原因可能是因为脚本里面含有中括号“{”。

非常任我头疼的是XSLT里‘中括号’好像有别的解析,所以我就想
在上面的onload里实现下面的脚本(虽然好简单)了;我都不知道XSLT里面要怎么来用JS的。


<script language="JavaScript" For="window" Event="onload">
var width,height;
//window.alert (document.img.length);
for (var i=0;i<document.imgs.length;i++)
{

width=document.imgs[i].width;
height=document.imgs[i].height;

if(width/height>2)
{if(width>220){ document.imgs[i].width=220;}}
else
{if(height>110){ document.imgs[i].height=110;}}
}
</script>

为了这个问题,我不知浪费了多少时间
各位大虾真的要帮帮我啊,要不我死定了
flashsoft2000 2002-10-25
  • 打赏
  • 举报
回复
<img name="img" onload="go()">

<script language="Javascript">
function go(){
if (width/height>2)
{if (width>220){ width=220;}}
else
{if(height>110){ height=110; }}
}
}

</script>
还是不要直接定义某对象的事件比较好
^^
bencalie 2002-10-25
  • 打赏
  • 举报
回复
做成一个函数不就完了?

<script language="Javascript">

function document.all.img.onload(){
if (width/height>2)
{if (width>220){ width=220;}}
else
{if(height>110){ height=110; }}
}
}

</script>
colee 2002-10-25
  • 打赏
  • 举报
回复
刚我又试着用回了原来直接在XSLT文件里插入脚本的方法,有时通过,有时不通过,而且发现这样问题

for (var i=0;i<document.imgs.length;i++) 中
若是本页面因为某原因一副图片都没有,这时就会出错了,不存在对象imgs

那该怎么判断(排除)这种情况
colee 2002-10-25
  • 打赏
  • 举报
回复
我受XML/SOAP论坛一位朋友的启发,现在乱碰成功了,搞成下面这样
<xsl:element name="img">
<xsl:attribute name="src"> <xsl:value-of select="Picture"/>
</xsl:attribute>
<xsl:attribute name="onload">
Javascript:if(this.width/this.height>2) { if(this.width>220){ this.width=220;}} else {if(this.height>110){ this.height=110; }}
</xsl:attribute>
</xsl:element>
这里解决问题还真有效,
我是昨天一朋友推荐我来这里的,今天刚注册,
多少你也帮了我(至少在思想或知识上),我还剩点分,可以给你一点,怎么给你啊

87,907

社区成员

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

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