社区
JavaScript
帖子详情
同一段js代码,前面加alert之后就能执行成功,如果去掉alert语句就执行失败,为什么?
time_is_life
2007-05-12 01:53:24
同一段设置层属性的js代码,
前面加alert之后就能执行成功,
如果去掉alert语句就没有反应,
我想可能是如果不加alert,层还没有加载完的原因吧.
可是现在我不想弹出alert,
该如何才能让这段js代码生效哪?
谢谢
...全文
1575
12
打赏
收藏
同一段js代码,前面加alert之后就能执行成功,如果去掉alert语句就执行失败,为什么?
同一段设置层属性的js代码, 前面加alert之后就能执行成功, 如果去掉alert语句就没有反应, 我想可能是如果不加alert,层还没有加载完的原因吧. 可是现在我不想弹出alert, 该如何才能让这段js代码生效哪? 谢谢
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
time_is_life
2007-05-13
打赏
举报
回复
好用了,谢谢
yixianggao(你我他,三人行必有我师焉!) ( ) 信誉:100 Blog 加为好友
yixianggao
2007-05-12
打赏
举报
回复
只能用延时了,没找到有什么事件可用!
写了个例子,如果不调用延时函数,而是直接执行 resizeDiv 里的两句话就会遮住右侧滚动条,
例子中延时 100 毫秒后能自动调整了,如 LZ 所愿!
仅仅是实现了功能,但原理还不十分清楚,暂且解释为加载延时吧,时长只能凭经验估计了,
因为找不到事件!
大家都来说说!
代码如下,LZ 更具自己的情况改改吧:
<body>
<div id="divForItemContent" style="filter:alpha(opacity=50);width:500px; height: 100px; font:20;z-index:1000;background-color:#FF0000; position:absolute; left: 11px; top: 85px;"></div>
<div id="divItemContent" style="overflow: auto; width:500px; height: 100px; font:20;z-index:999;background-color:#0000ff;position:absolute; left: 11px; top: 85px;">
</div>
<script type="text/javascript">
<!--
divItemContent.innerHTML = "<br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br />";
// 延时时段,单位 毫秒,1秒=1000毫秒。
var delayInterval = 100;
window.setTimeout(resizeDiv, delayInterval);
function resizeDiv()
{
divForItemContent.style.width = divItemContent.clientWidth;
divForItemContent.style.height = divItemContent.clientHeight;
}
//-->
</script>
</body>
yixianggao
2007-05-12
打赏
举报
回复
嗯,够了,不过俺没这么做过,只能试试看!
基本思路就是,用延时函数处理,等内容加载完毕后再设置宽、高,
可是问题就是从何得知内容已加载完毕?!
先顶上去,俺去试验一下!
time_is_life
2007-05-12
打赏
举报
回复
用divForItemContent盖住divItemContent
time_is_life
2007-05-12
打赏
举报
回复
打错了,
divForContent应该是divForItemContent
共有两个div: divItemContent 和 divForItemContent .
所以这句应该是:
<div id="divForItemContent" style="filter:alpha(opacity=0);width:503px;font:20;z-index:1000;background-color:#FF0000;position:absolute; left: 11px; top: 85px; height: 87px;"></div>
---------------------------------------------------------------------------
这句话:
document.getElementById("divItemContent").innerHTML = document.getElementById("<%= txtContent.ClientID %>").value;
是把服务器端的TextBox的内容复制到客户端的div中.
要复制的内容很多,具体的内容是Html格式的内容,可能包含文本,图片,链接等.
最长可能达到几万字.
Html的代码太长,而且与其他页面关联.不知道上述信息是否足够,谢谢
yixianggao
2007-05-12
打赏
举报
回复
divForContent —— html
divItemContent —— JS
divForItemContent —— JS
怎么是三个 div ?请把 html 代码贴完全!
document.getElementById("divItemContent").innerHTML = document.getElementById("<%= txtContent.ClientID %>").value;
document.getElementById("<%= txtContent.ClientID %>").value; ——内容很多么?具体内容是什么?
似乎就是加载的问题!
time_is_life
2007-05-12
打赏
举报
回复
to yixianggao(你我他,三人行必有我师焉!)
以下是代码,代码的功能是用一个div将另外一个div盖住,但是当被盖住的div有滚动条时,不能把滚动条也盖住。
这里的代码包含两种实现方式:
第一种是通过Ajax的ScriptManager.RegisterStartUpScript来调用,这种调用能够使div可见,但是把滚动条也盖住了,说明代码执行时滚动条还没有出现。
第二种是用ajax的EndRequest来调用,也是一样,能够使div可见,但是把滚动条也盖住了,说明代码执行时滚动条还没有出现。
在第二种方法中,如果在调整div大小前调用一下alert,执行的时候点击完alert确定按钮之后,滚动条就不被盖住了,说明执行有效了。
现在不想出现alert,该如何才能实现这个功能哪?
谢谢
-------------------------
<div id="divForContent" style="filter:alpha(opacity=0);width:503px;font:20;z-index:1000;background-color:#FF0000;position:absolute; left: 11px; top: 85px; height: 87px;"></div>
<script type="text/javascript">
//这里是ajax的EndRequest事件
function EndRequest (sender, args)
{
if( postBackElement.id == document.getElementById("<%= tvItems.ClientID %>").id )
{
//fill the item content back into the divContent from server-side control.
document.getElementById("divItemContent").innerHTML = document.getElementById("<%= txtContent.ClientID %>").value;
divForItemContent.style.display = "block";//这句执行成功了
// alert(divItemContent.clientWidth);
divForItemContent.style.width = divItemContent.clientWidth;
divForItemContent.style.height = divItemContent.clientHeight;
}
}
//自己写的函数
function ShowDivForContent()
{
divForItemContent.style.display = "block";
divItemContent.style.borderColor = "#000000";
divForItemContent.style.width = divItemContent.clientWidth;
divForItemContent.style.height = divItemContent.clientHeight;
}
</script>
<script runat="server">
ScriptManager.RegisterStartupScript(UpdatePanel4, this.GetType(), DateTime.Now.ToString(), "ShowDivForContent();", true);
</script>
yixianggao
2007-05-12
打赏
举报
回复
ClientScriptManager.RegisterStartupScript Method (Type, String, String)
The script block added by the RegisterStartupScript method executes when the page finishes loading but before the page's OnLoad event is raised.
看来不是位置的问题,是不是用了 iframe 或 frame 什么的?
LZ 到底想实现什么效果,并且把脚本代码和 html 页面代码贴出来看看!
大家帮你分析分析!
time_is_life
2007-05-12
打赏
举报
回复
to
yixianggao(你我他,三人行必有我师焉!)
我是在服务器端用ScriptManager.RegisterStartUpScript注册的.
可是不用alert就不行,
怎么样在服务器端把js注册到你说的位置阿
yixianggao
2007-05-12
打赏
举报
回复
如果是嵌入页面的脚本,有两种办法,
1 加 defer 属性,即:<script type="text/javascript" defer>...
2 调整代码位置,放到 </body> 之前,即 ...</script></body>
LZ 自选!
dh20156
2007-05-12
打赏
举报
回复
"我想可能是如果不加alert,层还没有加载完的原因吧."
既然你知道原因,那就按这个去解决问题啊,让脚本加载完再执行你要的事件!
如果是XMLHTTP,建议使用异步加载方式进行处理!
rjzou2006
2007-05-12
打赏
举报
回复
哪是因为没有加载完页面的原因
【漂亮大气-PC端英文网站-响应式html5-整站模板】绿色全球商务外贸单页page网站(运行html文件可看效果).zip
资源说明: 1:本资料仅用作交流学习参考,请切勿用于商业用途。运行本网站模板下的html文件就可看到页面效果,有利于html、css、
js
的学习以及页面设计参考。 2:掌握这套 HTML 网站模板,即学即用!深度掌握页面布局、组件复用、模块化开发技巧,学习交互逻辑与动画实现。适用于个人作品集、企业官网、电商平台等场景,助您快速搭建专业网站,提升前端开发效率与项目经验!
RK3588部署yolo5模型视频教程
RK3588部署yolo5模型视频教程
人声美化基于DSP与AI的实时人声优化系统:直播与会议场景下的语音质量提升及商业化可行性分析
人声美化基于DSP与AI的实时人声优化系统:直播与会议场景下的语音质量提升及商业化可行性分析
词根sadsadsadas
仅自己可见sadsdasda
基于springboot+vue+mysql的智能物流管理系统(源码+论文).rar
采用前后端分离架构,包含数据库文件,
代码
经过完整测试,保证可以运行,内部包含详细的运行说明文档,如遇运行问题可私信博主。 本项目主要面向计算机相关专业中正在筹备大作业、毕业设计的学生,以及渴望通过实战项目提升编码能力的自学者,系统难度设计贴合教学需求,功能模块覆盖全栈开发核心知识点,所有
代码
与文档均经测试审核,学习者可放心下载参考或直接用于课程实践。
JavaScript
87,997
社区成员
224,709
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章