一个页面上有几个按钮,它们调用同一个函数showpop()
点击不同的按钮时,显示不同的层,
我如何判断点击了哪个按钮呢。
考虑到这个按钮以后还要添加,如果根据id一个一个判断的话,非常麻烦,如何将一个按钮和一个层的显示对应起来呢?
点击不同的按钮时,显示不同的层,
我如何判断点击了哪个按钮呢。
考虑到这个按钮以后还要添加,如果根据id一个一个判断的话,非常麻烦,如何将一个按钮和一个层的显示对应起来呢?
调试欢乐多
someButton.relatedItem = anyDiv;someButton.onclick = showpop;
利用循环也可以,按实际情况。然后将写事件
showpop(e){
var evt = e || window.event;
var evtTarget = evt.target || evt.srcElement;
eveTarget.relaerdItrm.style = [隐藏或者显示];
}
按钮调用时,onclick="showpop(this)"
var evt = e || window.event;
var evtTarget = evt.target || evt.srcElement;
var panel_id =evtTarget.getAttribute("myid")
var Panel = document.getElementByid(panel_id);
Panel.style.display="block";
将需要显示的层的ID,作为按钮的一个属性,就很容易了。
只需要button与div有个对应关系就OK。
例如:<div id="1"><div>
<input type=button onclick="showpop('1')">
var evtTarget = evt.target || evt.srcElement;
var panel_id =evtTarget.getAttribute("myid")
var Panel = document.getElementByid(panel_id);
Panel.style.display="block";
报了e没有定义。
showpop(e)?传参和不传参的方法是不一样的。
采用传参
如果<input type=button onclick="showpop('div1')">
<script>
function showpop(e)
{
var tmp=document.getElementById(e);
e.style.display="block";
}
</script>采用属性的方法
<input type=button mydiv="div1" onclick="showpop()">
<script>
function showpop()
{
var btn=window.event.srcElement;
var tmp=document.getElementByName(btn.getAttribute("mydiv"));
tmp.style.display="block";
}
</script>