Задать вопрос

Как закрыть дочернее окно через главное?

Есть форма кнопка которой создает окно к элементом и элемент на странице. Как сделать так , чтоб окно закрывалось по нажатию на другую кнопку. Как создать в классе метод который будет закрывать это окно
class Options {
	constructor(bg, valueArter, textValue, fontWeight, underLine, textStyle) {
		this.bg = bg;
		this.valueArter = valueArter;       
		this.textValue = textValue;                      
		this.fontWeight=fontWeight;
		this.underLine=underLine;
		this.textStyle=textStyle;
	}
	createDiv() {
		let elem = document.createElement('div');
		let img = document.createElement('img');
		img.src = this.valueArter;
		let paramD = `height:450px;
					width:550px;
					margin: 0 auto;
					background:url('http://127.0.0.1:5501/${this.bg}');
					font-size:20px;
					text-align:center;
					font-weight:${this.fontWeight};
					text-decoration:${this.underLine};
					font-style:${this.textStyle};
					text-decoration: ${this.textdecoration};
					color:blue;
					`
		let textC = this.textValue;
		elem.classList.add('main');
		elem.style.cssText = paramD;
		elem.textContent = textC;
		let paramI = `
					display:block;
					margin: 0 auto;
					padding-top:10px;
					`
		elem.appendChild(img);
		img.style.cssText=paramI;
		document.body.appendChild(elem);
		let newWin = window.open("", "", `width=500,height=450,left=100,top=100`);
		let imgW =newWin.document.createElement('img');
			imgW.src=`http://127.0.0.1:5501/${this.valueArter}`;
			newWin.document.body.style.margin=0;
		let elemW = newWin.document.createElement('div');
			elemW.textContent=textC;
			elemW.style.cssText=paramD;
			imgW.style.cssText=paramI;
			elemW.appendChild(imgW);
			newWin.document.body.appendChild(elemW);
		let btnM =newWin.document.createElement('button')
			btnM.textContent='закрыть';
			elemW.appendChild(btnM);
			
	}

	
}
let btn =document.getElementById('createBtn');
btn.addEventListener('click',function result(){
	let arter = document.getElementById('arter');
	let valueArter =arter.value;
	let radioB = document.getElementsByName('bg');
	let text = document.getElementById('textContent');
	let textValue=text.value;
	let textDecor= document.getElementsByName('textD');
	let bg="";
	for(let i =0;i<radioB.length;i++){
		if(radioB[i].checked){
			 bg =radioB[i].value;
		}
	}
	let italic="normal"
	let under = "none"
	let weight = "normal"
	for(let i=0; i<textDecor.length;i++){
		if(textDecor[0].checked){
			italic="italic"
		}
		if(textDecor[1].checked){
			under="underLine"
		}
		if(textDecor[2].checked){
			weight="900"
		}
	}
	const item = new Options(bg, valueArter, textValue, weight, under, italic);
	
	item.createDiv();
		
		console.log(document.location.href)
		
});
let btn1=document.getElementById('deleteBtn');
		btn1.addEventListener('click',()=>{
			
			b=document.querySelectorAll('.main');
			for(let i =0;i<b.length;i++){
				document.body.removeChild(b[i]);
			}
});
  • Вопрос задан
  • 103 просмотра
Подписаться 1 Средний 2 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы