我今天对prototypeJS有一些问题,我正在用于一个新项目,所以这是我的代码:
var div = $('addcontact');
Event.observe(div, 'click', respondToClick);
function respondToClick(event) {
var form = $('contactForm');
form.setStyle(
{display : initial}
);
}
我不明白为什么它不起作用,$('contactForm')有一个display:none作为css属性,所以我想要点击$('addcontact')时显示它。 / p>
答案 0 :(得分:0)
Prototype有两个Element
方法可控制CSS display
属性:show()
和hide()
,前提是初始值设置为内嵌(就是这样)。
因此,您的代码段可以按如下方式进行优化:
Event.observe($('addcontact'), 'click', function()
{
$('contactForm').show();
});
此外,show()
会自动为相关元素设置相应的display
属性:block
,ìnline
,table
,table-row
和等等。 hide()
将display
设置为none
。
如果您想同时使用show()
或hide()
多个元素,请使用以下表单:
$('element_1','element_2', ..., 'element_n').invoke('show');
$('element_1','element_2', ..., 'element_n').invoke('hide');
如果要根据事件打开/关闭元素的display
属性,则:
Event.observe($('element'),'click', function()
{
$('otherElement').toggle();
}