javascript - 淡入/淡出不适用于附加 div

标签 javascript jquery html css

尽我所能并做了一些研究,我仍然无法弄清楚。 我的目标是为我正在处理的期末考试网站的一部分创建一个简单编码的灯箱。

请帮助解决我这个恼人的问题,我们将不胜感激!

$(document).ready(function () {
	
	$('button').click(function() {
		
		$('body').append(' <div id="lb-shadow"><p id="lb-x">[ x ]</p></div> ');
		$('body').append(' <div id="lb-container"></div> ');
		$('#lb-shadow').fadeIn(6000	);
		$('#lb-container').fadeIn(6000);
		
		$('#lb-shadow').click(function(){
			$('#lb-container').fadeOut(6000);
			$('#lb-shadow').fadeOut(6000);
			
			$('#lb-container').detach();
			$('#lb-shadow').detach();
		});
	});
	
	
	
	
});
#lb-btn{
	position:absolute;
	outline:0;
	border:0;
	padding:5px 10px;
	cursor:pointer;
	background-color:black;
}
#lb-btn p{
    padding:5px;
	color:#ccc;
	border:1px solid white;
}


#lb-shadow{
	position:absolute;
	left:0;
	right:0;
	height:100%;
	width:100%;
	background-color:rgba(0, 0, 0, 0.7);
}
#lb-x{
	color:#ccc;
	text-transform:uppercase;
	float:right;
	margin:15px;
	cursor:pointer;
	transition: ease .3s;
}
#lb-x:hover{
	color:white;
}
#lb-container{
	position:absolute;
	height:400px;
	width:600px;
	left:calc(50% - 300px);
	top:calc(50% - 200px);
	background-color:white;
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	
    <title>Min hemsida</title>
	
    <link rel="stylesheet" type="text/css" href="css/cindex.css">
    
	<link href="https://fonts.googleapis.com/css?family=Raleway" rel="stylesheet" type="text/css">
	<link href='https://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>
	
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
	<script src="js/cindex.js"></script>
</head>
<body>


<button id="lb-btn"><p> Login / Register </p></button>







</body>
</html>

最佳答案

如果问题出在单击处理程序上,请尝试像这样全局附加事件监听器,即使元素是在监听器之后创建的,这种方法也应该有效。 (否则对您的问题的重复评论应该可以解决问题)

$(document).ready(function () {

    $(document).on('click', '#lb-shadow', function(){
        $('#lb-container').fadeOut(6000);
        $('#lb-shadow').fadeOut(6000);
        $('#lb-container').detach();
        $('#lb-shadow').detach();
    });

    $('button').click(function() {
        $('body').append('<div id="lb-shadow"><p id="lb-x">[ x ]</p></div>');
        $('body').append('<div id="lb-container"></div>');
        $('#lb-shadow').fadeIn(6000);
        $('#lb-container').fadeIn(6000);
    });
});

关于javascript - 淡入/淡出不适用于附加 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37125575/

相关文章:

javascript - 在 JavaScript 中单击时关闭下拉导航栏?

javascript - 检索 HTML 元素的位置 (X,Y)

mysql - HTML - 来自数据库的英镑符号显示为?即使使用 charset=UTF-8

javascript - View 中 Controller 的 Angular 重用函数值

javascript - 客户端上传前文件压缩

javascript - 如何使用 touchmove 使 mousemove 事件适用于触摸屏?

jquery - 如何使用 jQuery 创建导航动画

javascript - html 图像 map + jquery maphilight - 突出显示与数组中的值匹配的所有区域 id

javascript - 对二维数组使用 .map 函数 - React

javascript - 如何在 React.js 中将带有 jsx 的 html 转换为 jsx