在我的HTML中,我有4个框,我想要增加大小并通过onclick显示在网站中间。但它不适用于这个克隆版本。通过onclick克隆div和更改样式
function changeSize(id, weight, height){
\t //$("." + id).clone().appendTo("new" + id);
\t var elem = document.getElementById(id);
clone = elem.cloneNode(true); // true means clone all childNodes and all event handlers
\t clone.id = "newid" +id;
\t document.body.appendChild(clone);
\t
if(elem.getAttribute('style')){
elem.removeAttribute('style');
} else {
elem.style.width = weight + 'px';
elem.style.height = height + 'px';
elem.style.fontSize = '30px';
elem.style.position = 'absolute';
elem.style.left= '40%';
}
}
var elems = document.getElementsByClassName('kaesten');
for(var i = 0; i < elems.length; i++){
elems[i].onclick = function(){
changeSize(this.id, 600, 600);
}
}
.kaesten{
\t width:240px;
\t height:300px;
\t background-color:darkgrey;
\t background-position:center;
\t background-repeat:no-repeat;
\t text-shadow:0px 0px 3px #000;
\t border: 5px solid #F0F8ff;
\t vertical-align:top;
\t text-shadow: 3px 3px 4px #777;
\t float:left;
\t margin-left:30px;
}
<div id="box1" class="kaesten">test1</div>
<div id="box2" class="kaesten">test2</div>
<div id="box3" class="kaesten">test3</div>
<div id="box4" class="kaesten">test4</div>
问:我怎样才能通过的onclick克隆盒,并显示在网站的中间?如何通过onclick删除它?
克隆:您必须复制对象的状态,这可以通过枚举和复制其属性或通过从“排序蓝图”中创建对象来完成。要将它移动到网站的中间,请修改其CSS属性,即TOP和LEFT,并通过onclick将其删除,只需添加一个事件侦听器并将其从DOM中的父级删除即可 –
您需要使用纯JavaScript或jQuery可以用吗? –
@nolags:你在找这样的东西 - https://jsfiddle.net/abhitalks/0tx5do9w/? – Abhitalks