关于display属性的设置求助

qq20004604
博客专家认证
2016-04-04 04:51:00
我计划将一个按钮在初始时隐藏,在点击一个按钮后,使用dojo将这个按钮显示出来。

目前情况是:
①该按钮位于一个div块内,且这个块专门用于放置该按钮:(正常)

<div id="dam_button">
<button>点击重新计算</button>
</div>


②通过css属性设定该按钮为隐藏状态:(正常)

#dam_button{
position:absolute;
top:360;
left:80;
display:none;
}


③通过dojo设置该按钮在触发动画效果后,显示:(失败)

function dam_button_show() //修改该按钮的属性
{
var ui = document.getElementById("dam_button");
ui.style.display=" ";
}
on(dambutton,"click",function()
{
dambox.play(); //动画1
damtext.play(); //动画2
dam_button.play(); //动画3
dam_button_show(); //修改该按钮的属性
}


并没有如我计划之中那样使其显示出来。求解问题出现在哪?
...全文
484 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq20004604 2016-04-17
  • 打赏
  • 举报
回复
我后来想到一个办法,用一个类来控制显示,另一个类不显示,通过赋予类的办法,来修改显示与否
jyjsjava 2016-04-17
  • 打赏
  • 举报
回复
ui.style.display=" block";//改为显示状态,这个好像是css默认的状态,我也不知道是怎么回事,反正更改为“”是不行的
def123321123 2016-04-15
  • 打赏
  • 举报
回复
<form> <input type='button' value='button1' id='button1'> <input type='button' value='button2' onclick='fn()'> <!--单击按钮则执行fn().--> </form> #button1{visibility:hidden;} //隐藏 function fn(){ button1=document.getElementById('button1'); button1.style.visibility='visible'; //显示 }
qq20004604 2016-04-04
  • 打赏
  • 举报
回复
准确的说,我感觉这个命令没有效果:
				function dam_button_show()	//修改该按钮的属性
				{
					var ui = document.getElementById("dam_button");
   			  ui.style.display=" ";
				}
难道是因为我用的dojo的原因?不应该吧,我发个全的
<script>
		require
		(
			["dojo/_base/fx", "dojo/fx", "dojo/fx/easing", "dojo/dom-style", "dojo/dom", "dojo/aspect", "dojo/on", "dojo/domReady!"], 
			function(baseFx, fx, easing, domStyle, dom, aspect, on) 
			{
				showdam=dom.byId("showdam");
				dambutton=dom.byId("dambutton");
				var dambox = baseFx.animateProperty
				(
					{
							easing:easing.bounceOut,
							node:showdam,
							properties:
							{
								left:{start:0,end:30},
								top:{start:0,end:200},
								width:{start:0,end:290},
								height:{start:0,end:420},
							},
							duration:1000,
					}
				);
				var damtext=baseFx.animateProperty
				(
					{
						easing:easing.bounceOut,
						node:dam,
						duration:1000,
						properties:
						{
							fontSize:{start:0,end:19},
							left:{start:0,end:15},
							top:{start:0,end:15},
							backgroundColor:{start:"#000",end:"#FFA07A"},
							width:260,
							height:380,
						},
					}
				);
				var dam_button=baseFx.animateProperty
				(
					{
						easing:easing.bounceOut,
						node:dam_button,
						duration:1000,
						properties:
						{
							left:{start:0,end:80},
							top:{start:0,end:360},
							width:{start:0,end:200},
							height:{start:0,end:50},
						},
					}
				);
				function dam_button_show()	//修改该按钮的属性
				{
					var ui = document.getElementById("dam_button");
   			  ui.style.display=" ";
				}
				on(dambutton,"click",function()
						{
							dam_button_show();	//修改该按钮的属性
							dambox.play();	//动画1
							damtext.play();	//动画2
							dam_button.play();	//动画3
							
						}
				);
				
				
			}
		);
</script>
qq20004604 2016-04-04
  • 打赏
  • 举报
回复
引用 2 楼 jslang 的回复:
不知道你的动画是什么,最好在动画之前修改 dam_button_show(); //修改该按钮的属性 dam_button.play(); //动画3
①在页面上,输入一些内容; ②然后有一个按钮,点击后,触发一个事件; ③这个事件效果是计算一些东西,然后把计算的内容输出在这里:
	<div class="showdam" id="showdam"><!--显示伤害的盒子-->
		<div id="dam"></div>		<!-- 下来的顺序是盒子移动到正确的位置,并且随之变大,然后文字填充到盒子内-->
		<div id="dam_button">
			<button>点击重新计算</button>
		</div>
	</div>
class="showdam"在初始的情况下,高和宽都是0(变相起到隐藏作用)。 id为dam_button的块内有一个按钮,我将这个按钮初始设置为隐藏。 ④这个展示一些信息,由于我需要在点击按钮后,触发一些事件(把这个再隐藏起来)。因此,我需要切换这个按钮的display属性。 就是这样~ 目前若是不加入display属性,其初始位置是有问题的,动画后的位置是正确的。 但由于初始位置不重要,因此我才加入display属性,希望其在初始的情况下不显示,动画的时候将class="showdam"的显示,顺便更改这个按钮的display属性。 其实应该也有其他方法能解决这个问题,不过我搞懂这个是为了学习这个知识,所以只能死磕了。
天际的海浪 2016-04-04
  • 打赏
  • 举报
回复
不知道你的动画是什么,最好在动画之前修改 dam_button_show(); //修改该按钮的属性 dam_button.play(); //动画3
qq20004604 2016-04-04
  • 打赏
  • 举报
回复
备注,假设删除了css中display属性,那么一切是正常的

61,110

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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