方案一:采用监听resize实现,需要防抖,效果一般。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="../jquery-2.1.1/jquery.min.js"></script>
<script src="layer/layer.js"></script>
<script src="layui/layui.js"></script>
<link rel="stylesheet" href="layui/css/layui.css">
<style>
#abcd {
position: relative;
padding: 20px;
top: 50px;
left: 50px;
font-size: 20px;
}
/*
@media screen and (min-width:1000px) {
#layui-layer100001 {
left: 200px;
color: red;
}
}
@media screen and (min-width:1400px) {
#layui-layer100001 {
left: 400px;
}
}
@media screen and (min-width:2000px) {
#layui-layer100001 {
left: 600px;
}
} */
</style>
</head>
<body>
<!-- 点击按钮,弹出窗口,高度不变,左右在某个位置,随窗口的改变而改变位置 -->
<button id="abcd">abcd</button>
</body>
<script>
//防抖函数
function Debounce(fn, delay) {
var ctx;
var args;
var timer = null;
var later = function () {
fn.apply(ctx, args);
timer = null;
};
return function () {
ctx = this;
args =