offset--BUG
offsetWidth所获取的宽度并不是div的实际宽度,它包括div的width、border等。
在JS函数中,可以通过obj.style.width来获取div的实际宽度,但是这种方式style只能获取行间样式,所以需要一个函数调用css中样式,代码如下:
function getStyle(obj, name) {
if (obj.currentStyle) {
return obj.currentStyle[name];
}
else {
return getComputedStyle(obj, false)[name];
}
}
setInterval(function () {
var oDiv = document.getElementById('div1');
oDiv.style.width = parseInt(getStyle(oDiv, 'width')) - 1 + 'px';
}, 30);
现在我们来用一个案例来掩饰去掉offset如何实现
代码:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
div {
width: 200px;
height: 200px;
margin: 20px;
float: left;
background: yellow;
border: 10px solid black;
font-size: 14px;
}
</style>
<script>
window.onload = function () {
var oDiv1 = document.getElementById('div1'); oDiv1.onmouseover = function () {
startMove(this, 'height', 400);
};
oDiv1.onmouseout = function () {
startMove(this, 'height', 200);
}; var oDiv2 = document.getElementById('div2'); oDiv2.onmouseover = function () {
startMove(this, 'width', 400);
};
oDiv2.onmouseout = function () {
startMove(this, 'width', 200);
}; var oDiv3 = document.getElementById('div3'); oDiv3.onmouseover = function () {
startMove(this, 'fontSize', 50);
};
oDiv3.onmouseout = function () {
startMove(this, 'fontSize', 14);
}; var oDiv4 = document.getElementById('div4'); oDiv4.onmouseover = function () {
startMove(this, 'borderWidth', 100);
};
oDiv4.onmouseout = function () {
startMove(this, 'borderWidth', 10);
};
}; function getStyle(obj, name) {
if (obj.currentStyle) {
return obj.currentStyle[name];
}
else {
return getComputedStyle(obj, false)[name];
}
} function startMove(obj, attr, iTarget) {
clearInterval(obj.timer);
obj.timer = setInterval(function () {
var cur = parseInt(getStyle(obj, attr)); var speed = (iTarget - cur) / 6;
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed); if (cur == iTarget) {
clearInterval(obj.timer);
}
else {
obj.style[attr] = cur + speed + 'px';
}
}, 30);
}
</script>
</head> <body>
<div id="div1">变高</div>
<div id="div2">变宽</div>
<div id="div3">字体变大</div>
<div id="div4">边框变粗</div>
</body>
</html>
运行结果:
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABPAAAAErCAIAAADfYOofAAAXrUlEQVR4nO3a3W6jV86tUd//TTsHEzAMy/pxKFJcqjHw4EOSrlRSyZrc/W70xycAAAAc6OPVfwMAAADwf/igBQAA4Eg+aAEAADiSD1oAAACO5IMWAACAI/mgBQAA4Eg+aAEAADiSD1oAAACO5IMWAACAI/mgBQAA4Eg+aAEAADiSD1oAAACO5IMWAACAI/mgBQAA4Eg+aAEAADiSD1oAAACO5IMWAACAI/mgBQAA4Eg+aAEAADiSD1oAAACO5IMWAACAI1U/aD9gmacMwxZ4A7YAYQsQr9oCtPJBy7t5yjBsgTdgCxC2APGqLUArH7S8m6cMwxZ4A7YAYQsQr9oCtPJBy7t5yjBsgTdgCxC2APGqLUArH7S8m6cMwxZ4A7YAYQsQr9oCtPJBy7t5yjBsgTdgCxC2APGqLUArH7S8m6cMwxZ4A7YAYQsQr9oCtPJBy7t5yjBsgTdgCxC2APGqLUArH7S8m6cMwxZ4A7YAYQsQr9oCtPJBy7t5yjBsgTdgCxC2APGqLUCr3g/az0/p+e081rag+WxBSrYgpZ1bgFbVl/2nY/34+XbodaOdx9oWNN8/soUfP+bun/Kn1ZjYe/QGW/j6hdz4Nf6PfyxP+TE6qJ1bgFbVl/3XY/343XRhda2dx9oWNN8/soWPP37QPvhj/vojtblDt3D5/G48yK//6PFx3f4JL3/AIz+hlrdzC9Cq+rLv7OYxj/80Lz8T2tC9R/IaxRV8vfDHf6R075GcvYXvv8wbv/v4X/DaP8OX/3tUvXv/6jdu4evv/Mcv5Mav8ZEf8+AWfvxsHxcf2KZxaDu3AK2qL/uRY/01sF9/W/prO4/1s7bwyDosSOnELfz1hX983PnFPvLnPvjX0rmduIWvv/MbP/Dar+7yD/76z+TX3/7xBy//Zm78Kdrfzi1Aq+rL/tOx/j62z+vn9drPI6Wdx/pZW/jrb+tf7sQtPPJ6b7/2az/Dg/t6xMv/zeqvnbiFa7+QX3/7++/eHsjn3/971yN/dZ3Szi1Aq+rLfuRYXzusn4/9NxUnVT/aeayfu4W7P5X0efgWHnnel3/wxhAe39fln6XTO3cLl7+QX3/788p7/t9b+PXv55G/Qy1v5xagVfVl3z3Wd+/v5b3+9eeRvtp5rJ++hbv/qXToFq79Wn79Ix9X/t+Ia3/64/u69pfQiZ24hV8f840H/PWDbz/sv27hT5PR/nZuAVpVX/afzvS14b18/DqrncfaFjTfiVu49gu58Wv88dsfD/x3+gf/Epc/lQ7t3C18/OWD9vI3bv9s1/5ZXf5zu/1X10Ht3AK0qr7sB4/17R/wyAIdVn2181g/cQt/+pH6lzt3Cz9+Fbd/jT9+++PKV+j/WM21n0rHde4WLl/45e/+eKg3/pS7/zR+/ZGXf4lrP7P2t3ML0Kr6sh851p/3/reU1/7I4/+p/ql2HusnbuHz+n+rMAR978QtPOj7r/Hub1z+4Bt/5Nf/yLJO78QtfP2df/9V/PhF/fq7jzzdx9fx42f7dYY6qJ1bgFbVl/3Isf4a2K+/ffkH7158/ePtPNZP3MKNH2MI+t7pW/j6Vdz+NX7/vz9+qss/9/G9WNY7de4WLn/j+y/q19998One/WGXIzKKN2jnFqBV9WU/cqwvN3ZtgT9+49of1D/ezmP9xC18Pva/NJPeYAuff/+f59xdwd19/b+fVps7dwsfv/1/zfz6gC//lNvL+ry5hY+b/6Xr8m9Jp7RzC9Cq+rIfOdafF6f57qW+dvGlz63H+olbuPyPPi7+u87L/y1oQ0dv4fuv4vav8fEf/+C+bozu5f9O9f86dAvf/+8jv8Yfv3H3H8i13/31p73x2zqonVuAVtWXfWc33672jcl9/e7tcb78RmhJO4/1s7Zw7Uc+8vPoX+vELfz693/71/jIH/nTvu7+I335v1n9tRO38HHxwXn3x9z+wZ9/2cKDP+3L/83qr917cvCGqi/73myk57fzWNuC5rMFKdmClHZuAVpVX7Zjrfl2Hmtb0Hy2ICVbkNLOLUCr6st2rDXfzmNtC5rPFqRkC1LauQVoVX3ZjrXm23msbUHz2YKUbEFKO7cAraov27HWfDuPtS1oPluQki1IaecWoFX1ZTvWmm/nsbYFzWcLUrIFKe3cArSqvmzHWvPtPNa2oPlsQUq2IKWdW4BW1ZftWGu+ncfaFjSfLUjJFqS0cwvQqvqyHWvNt/NY24LmswUp2YKUdm4BWlVftmOt+XYea1vQfLYgJVuQ0s4tQKvqy3asNd/OY20Lms8WpGQLUtq5BWhVfdmOtebbeaxtQfPZgpRsQUo7twCtqi/bsdZ8O4+1LWg+W5CSLUhp5xagVfVlO9aab+extgXNZwtSsgUp7dwCtKq+bMda8+081rag+WxBSrYgpZ1bgFbVl+1Ya76dx9oWNJ8tSMkWpLRzC9Cq+rIda82381jbguazBSnZgpR2bgFaVV+2Y635dh5rW9B8tiAlW5DSzi1Aq+rLdqw1385jbQuazxakZAtS2rkFaFV92Y615tt5rG1B89mClGxBSju3AK2qL9ux1nw7j7UtaD5bkJItSGnnFqBV9WU71ppv57G2Bc1nC1KyBSnt3AK0qr5sx1rz7TzWtqD5bEFKtiClnVuAVtWX7Vhrvp3H2hY0ny1IyRaktHML0Kr6sh1rzbfzWNuC5rMFKdmClHZuAVpVX7Zjrfl2Hmtb0Hy2ICVbkNLOLUCr6st2rDXfzmNtC5rPFqRkC1LauQVoVX3ZjrXm23msbUHz2YKUbEFKO7cAraov27HWfDuPtS1oPluQki1IaecWoFX1ZTvWmm/nsbYFzWcLUrIFKe3cArSqvmzHWvPtPNa2oPlsQUq2IKWdW4BW1ZftWGu+ncfaFjSfLUjJFqS0cwvQqvqyHWvNt/NY24LmswUp2YKUdm4BWlVftmOt+XYea1vQfLYgJVuQ0s4tQKvqy3asNd/OY20Lms8WpGQLUtq5BWhVfdmOtebbeaxtQfPZgpRsQUo7twCtqi/bsdZ8O4+1LWg+W5CSLUhp5xagVfVlO9aab+extgXNZwtSsgUp7dwCtKq+bMda8+081rag+WxBSrYgpZ1bgFbVl+1Ya76dx9oWNJ8tSMkWpLRzC9Cq+rIda82381jbguazBSnZgpR2bgFaVV+2Y635dh5rW9B8tiAlW5DSzi1Aq+rLdqw1385jbQuazxakZAtS2rkFaFV92Y615tt5rG1B89mClGxBSju3AK2qL9ux1nw7j7UtaD5bkJItSGnnFqBV9WU71ppv57G2Bc1nC1KyBSnt3AK0qr5sx1rz7TzWtqD5bEFKtiClnVuAVtWX7Vhrvp3H2hY0ny1IyRaktHML0Kr6sh1rzbfzWNuC5rMFKdmClHZuAVpVX7Zjrfl2Hmtb0Hy2ICVbkNLOLUCr6st2rDXfzmNtC5rPFqRkC1LauQVoVX3ZjrXm23msbUHz2YKUbEFKO7cAraov27HWfDuPtS1oPluQki1IaecWoFX1ZTvWmm/nsbYFzWcLUrIFKe3cArSqvmzHWvPtPNa2oPlsQUq2IKWdW4BW1ZftWGu+ncfaFjSfLUjJFqS0cwvQqvqyHWvNt/NY24LmswUp2YKUdm4BWlVftmOt+XYea1vQfLYgJVuQ0s4tQKvqy3asNd/OY20Lms8WpGQLUtq5BWhVfdmOtebbeaxtQfPZgpRsQUo7twCtqi/bsdZ8O4+1LWg+W5CSLUhp5xagVfVlO9aab+extgXNZwtSsgUp7dwCtKq+bMda8+081rag+WxBSrYgpZ1bgFbVl+1Ya76dx9oWNJ8tSMkWpLRzC9Cq+rIda82381jbguazBSnZgpR2bgFaVV+2Y635dh5rW9B8tiAlW5DSzi1Aq+rLdqw1385jbQuazxakZAtS2rkFaFV92Y615tt5rG1B89mClGxBSju3AK2qL9ux1nw7j7UtaD5bkJItSGnnFqBV9WU71ppv57G2Bc1nC1KyBSnt3AK0qr5sx1rz7TzWtqD5bEFKtiClnVuAVtWX7Vhrvp3H2hY0ny1IyRaktHML0Kr6sh1rzbfzWNuC5rMFKdmClHZuAVpVX7Zjrfl2Hmtb0Hy2ICVbkNLOLUCr6st2rDXfzmNtC5rPFqRkC1LauQVoVX3ZjrXm23msbUHz2YKUbEFKO7cAraov27HWfDuPtS1oPluQki1IaecWoFX1ZTvWmm/nsbYFzWcLUrIFKe3cArSqvmzHWvPtPNa2oPlsQUq2IKWdW4BW1ZftWGu+ncfaFjSfLUjJFqS0cwvQqvqyHWvNt/NY24LmswUp2YKUdm4BWlVftmOt+XYea1vQfLYgJVuQ0s4tQKvqy3asNd/OY20Lms8WpGQLUtq5BWhVfdmOtebbeaxtQfPZgpRsQUo7twCtqi/bsdZ8O4+1LWg+W5CSLUhp5xagVfVlO9aab+extgXNZwtSsgUp7dwCtKq+bMda8+081rag+WxBSrYgpZ1bgFbVl+1Ya76dx9oWNJ8tSMkWpLRzC9Cq+rIda82381jbguazBSnZgpR2bgFaVV+2Y635dh5rW9B8tiAlW5DSzi1Aq+rLdqw1385jbQuazxakZAtS2rkFaFV92Y615tt5rG1B89mClGxBSju3AK2qL9ux1nw7j7UtaD5bkJItSGnnFqBV9WU71ppv57G2Bc1nC1KyBSnt3AK0qr5sx1rz7TzWtqD5bEFKtiClnVuAVtWX7Vhrvp3H2hY0ny1IyRaktHML0Kr6sh1rzbfzWNuC5rMFKdmClHZuAVpVX7Zjrfl2Hmtb0Hy2ICVbkNLOLUCr6st2rDXfzmNtC5rPFqRkC1LauQVoVX3ZjrXm23msbUHz2YKUbEFKO7cAraov27HWfDuPtS1oPluQki1IaecWoFX1ZTvWmm/nsbYFzWcLUrIFKe3cArSqvmzHWvPtPNa2oPlsQUq2IKWdW4BW1ZftWGu+ncfaFjSfLUjJFqS0cwvQqvqyHWvNt/NY24LmswUp2YKUdm4BWlVftmOt+XYea1vQfLYgJVuQ0s4tQKvqy3asNd/OY20Lms8WpGQLUtq5BWhVfdmOtebbeaxtQfPZgpRsQUo7twCtqi/bsdZ8O4+1LWg+W5CSLUhp5xagVfVlO9aab+extgXNZwtSsgUp7dwCtKq+bMda8+081rag+WxBSrYgpZ1bgFbVl+1Ya76dx9oWNJ8tSMkWpLRzC9Cq+rIda82381jbguazBSnZgpR2bgFaVV+2Y635dh5rW9B8tiAlW5DSzi1Aq+rLdqw1385jbQuazxakZAtS2rkFaFV92Y615tt5rG1B89mClGxBSju3AK2qL9ux1nw7j7UtaD5bkJItSGnnFqBV9WU71ppv57G2Bc1nC1KyBSnt3AK0qr5sx1rz7TzWtqD5bEFKtiClnVuAVtWX7Vhrvp3H2hY0ny1IyRaktHML0Kr6sh1rzbfzWNuC5rMFKdmClHZuAVpVX7Zjrfl2Hmtb0Hy2ICVbkNLOLUCr6st2rDXfzmNtC5rPFqRkC1LauQVoVX3ZjrXm23msbUHz2YKUbEFKO7cAraov27HWfDuPtS1oPluQki1IaecWoFX1ZTvWmm/nsbYFzWcLUrIFKe3cArSqvmzHWvPtPNa2oPlsQUq2IKWdW4BW1ZftWGu+ncfaFjSfLUjJFqS0cwvQqvqyHWvNt/NY24LmswUp2YKUdm4BWlVftmOt+XYea1vQfLYgJVuQ0s4tQKvqy3asNd/OY20Lms8WpGQLUtq5BWhVfdmOtebbeaxtQfPZgpRsQUo7twCtqi/bsdZ8O4+1LWg+W5CSLUhp5xagVfVlO9aab+extgXNZwtSsgUp7dwCtKq+bMda8+081rag+WxBSrYgpZ1bgFbVl+1Ya76dx9oWNJ8tSMkWpLRzC9Cq+rIda82381jbguazBSnZgpR2bgFaVV+2Y635dh5rW9B8tiAlW5DSzi1Aq+rLdqw1385jbQuazxakZAtS2rkFaFV92Y615tt5rG1B89mClGxBSju3AK2qL9ux1nw7j7UtaD5bkJItSGnnFqBV9WU71ppv57G2Bc1nC1KyBSnt3AK0qr5sx1rz7TzWtqD5bEFKtiClnVuAVtWX7Vhrvp3H2hY0ny1IyRaktHML0Kr6sh1rzbfzWNuC5rMFKdmClHZuAVpVX7Zjrfl2Hmtb0Hy2ICVbkNLOLUCr6st2rDXfzmNtC5rPFqRkC1LauQVoVX3ZjrXm23msbUHz2YKUbEFKO7cAraov27HWfDuPtS1oPluQki1IaecWoFX1ZTvWmm/nsbYFzWcLUrIFKe3cArSqvmzHWvPtPNa2oPlsQUq2IKWdW4BW1ZftWGu+ncfaFjSfLUjJFqS0cwvQqvqyHWvNt/NY24LmswUp2YKUdm4BWlVftmOt+XYea1vQfLYgJVuQ0s4tQKvqy3asNd/OY20Lms8WpGQLUtq5BWhVfdmOtebbeaxtQfPZgpRsQUo7twCtqi/bsdZ8O4+1LWg+W5CSLUhp5xagVfVlO9aab+extgXNZwtSsgUp7dwCtKq+bMda8+081rag+WxBSrYgpZ1bgFbVl+1Ya76dx9oWNJ8tSMkWpLRzC9Cq+rIda82381jbguazBSnZgpR2bgFaVV+2Y635dh5rW9B8tiAlW5DSzi1Aq+rLdqw1385jbQuazxakZAtS2rkFaFV92Y615tt5rG1B89mClGxBSju3AK2qL9ux1nw7j7UtaD5bkJItSGnnFqBV9WU71ppv57G2Bc1nC1KyBSnt3AK0qr5sx1rz7TzWtqD5bEFKtiClnVuAVtWX7Vhrvp3H2hY0ny1IyRaktHML0Kr6sh1rzbfzWNuC5rMFKdmClHZuAVpVX7Zjrfl2Hmtb0Hy2ICVbkNLOLUCr6st2rDXfzmNtC5rPFqRkC1LauQVoVX3ZjrXm23msbUHz2YKUbEFKO7cAraov27HWfDuPtS1oPluQki1IaecWoFX1ZTvWmm/nsbYFzWcLUrIFKe3cArSqvmzHWvPtPNa2oPlsQUq2IKWdW4BW1ZftWGu+ncfaFjSfLUjJFqS0cwvQqvqyHWvNt/NY24LmswUp2YKUdm4BWlVftmOt+XYea1vQfLYgJVuQ0s4tQKvqy3asNd/OY20Lms8WpGQLUtq5BWhVfdmOtebbeaxtQfPZgpRsQUo7twCtqi/bsdZ8O4+1LWg+W5CSLUhp5xagVfVlO9aab+extgXNZwtSsgUp7dwCtKq+bMda8+081rag+WxBSrYgpZ1bgFbVl+1Ya76dx9oWNJ8tSMkWpLRzC9Cq+rIda82381jbguazBSnZgpR2bgFaVV/2nd3AuKcMwxZ4A7YAYQsQr9oCtPJBy7t5yjBsgTdgCxC2APGqLUArH7S8m6cMwxZ4A7YAYQsQr9oCtPJBy7t5yjBsgTdgCxC2APGqLUArH7S8m6cMwxZ4A7YAYQsQr9oCtPJBy7t5yjBsgTdgCxC2APGqLUArH7S8m6cMwxZ4A7YAYQsQr9oCtPJBy7t5yjBsgTdgCxC2APGqLUArH7S8m6cMwxZ4A7YAYQsQr9oCtPJBy7t5yjBsgTdgCxC2APGqLUArLxsAAIAj+aAFAADgSD5oAQAAOJIPWgAAAI7kgxYAAIAj+aAFAADgSD5oAQAAOJIPWgAAAI7kgxYAAIAj+aAFAADgSD5oAQAAOJIPWgAAAI7kgxYAAIAj+aAFAADgSD5oAQAAOJIPWgAAAI7kgxYAAIAj+aAFAADgSD5oAQAAOJIPWgAAAI7kgxYAAIAj+aAFAADgSD5oAQAAOJIPWgAAAI7kgxYAAIAj+aAFAADgSD5oAQAAOJIPWgAAAI7kgxYAAIAj+aAFAADgSD5oAQAAOJIPWgAAAI7kgxYAAIAj+aAFAADgSD5oAQAAOJIPWgAAAI7kgxYAAIAj+aAFAADgSD5oAQAAOJIPWgAAAI7kgxYAAIAj+aAFAADgSD5oAQAAOJIPWgAAAI7kgxYAAIAj+aAFAADgSD5oAQAAOJIPWgAAAI7kgxYAAIAj+aAFAADgSD5oAQAAOJIPWgAAAI7kgxYAAIAj+aAFAADgSD5oAQAAOJIPWgAAAI7kgxYAAIAj/Qc6MU3tyb9eQAAAAABJRU5ErkJggg==" alt="" />
offset--BUG的更多相关文章
- kbmmw 5.01 发布
Important notes (changes that may break existing code) ============================================= ...
- kbmmw 5.0 beta1 发布
经过大半年的等待,kbmmw 的新版终于来了.经过近5年的打磨, kbmmw 的版本号升级到5了. kbmMW is a portable, highly scalable, high end app ...
- Sql 2012 OFFSET / FETCH NEXT BUG
上个星期,测试发现了一个分页的bug--- 无论怎么分页数据的一样.我们所有的分页都是用EF 分页,为什么只有一个模块的分页有问题呢? 后来跟了下sql语句,发现用到是sql2012的新分页方式 OF ...
- Javascript 运动中Offset的bug——逐行分析代码,让你轻松了解运动的原理
我们先来看看这个bug 是怎么产生的. <style type="text/css"> #div1 { width: 200px; height: 200px; bac ...
- JS 中offset 的小bug 与解决方案。
一.发现bug准备工作,先定义一个div,然后给div加上样式 效果图如图所示: 二.编写正常的代码,同时给div加上一个id 会发现div图会向左缩进...直至消失. 三.添加代码bo ...
- [更新设计]跨平台物联网通讯框架ServerSuperIO 2.0 ,功能、BUG、细节说明,以及升级思考过程!
注:ServerSuperIO 2.0 还没有提交到开源社区,在内部测试!!! 1. ServerSuperIO(SSIO)说明 SSIO是基于早期工业现场300波特率通讯传输应用场景发展.演化而来. ...
- 项目中遇到的各种bug和踩过的坑
zepto 赋值时单位转换问题 zepto 的 animate 方法移动某个元素的位置时,例如修改某个绝对定位的元素的 left 值,要与修改前的值单位一致,修改前如果是像素值,修改后也要是像素值,否 ...
- bootstrap-datetimepicker.js 设置开始时间的Bug。
原地址:http://www.malot.fr/bootstrap-datetimepicker 修改的地方有三处: 1. var months = this.setTitle('.datetimep ...
- (高德地图)marker定位 bug 解决总结
项目背景: 一个项目bug,项目中用到高德地图,默认打开页面会生成一个marker(下图红色icon),然后用户拖动marker到想要的位置,并且保存. 用户反映定位不准确,在当前页面编辑的位置,到后 ...
- Ztree插件,定位节点时(focus)不能进入可视区域BUG解决方案
相关插件版本: jquery.ztree.exedit-3.4.js jquery.ztree.all-3.4.js jquery-1.8.0.js function onAsyncSuccess(e ...
随机推荐
- WebService第一天——概述与入门操作
一.概述 1.是什么 Web service是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述.发布.发现.协调和配置这些 ...
- FreeRTOS软件定时器的使用
先贴上一个创建的代码,先声明一个句柄 TimerHandle_t pump_wakeup_timer_handle = NULL; 创建定时器和启动定时器,第三个参数,pdFALSE是只定时一次,pd ...
- ubuntu设置ssh登陆
转: 默认请况下,ubuntu是不允许远程登陆的.(因为服务没有开,可以这么理解.) 想要用ssh登陆的话,要在需要登陆的系统上启动服务.即,安装ssh的服务器端 $ sudo apt-get ins ...
- 【C#】 RBAC 权限框架
[C#] RBAC 权限框架 一. 名词解释 1. 用户 : 登录的账号, 和角色挂钩,可拥有多个角色 2. 角色 : 账号所属的角色, 和权限挂钩,可拥有多个权限 3. 权限 : 角色拥有的操作权限 ...
- python简单的数据清洗,数据筛选方法归类
创建数组有两种方式,1.直接赋值 2.随机变量生成随机生成包括4种:np.arange(20),np.linspace(0,10,5),np.logspace(0,2,5),np.random.ran ...
- es2017中的async和await要点
1. async和await最关键的用途是以同步的写法实现了异步调用,是对Generator异步方法的简化和改进.使用Generator实现异步的缺点如下: 得有一个任务执行器来自动调用next() ...
- Gradle下载依赖jar包位置修改
gradle会下载相关需要依赖的jar包,默认的本地存放地址是:C:/Users/(用户名)/.gradle/caches/modules-2/files-2.1,很多人和我一样不愿意放在C盘,所以需 ...
- 常用模块(数据序列化 json、pickle、shelve)
本节内容 前言 json模块 pickle模块 shelve模块 总结 一.前言 1. 现实需求 每种编程语言都有各自的数据类型,其中面向对象的编程语言还允许开发者自定义数据类型(如:自定义类),Py ...
- 孤荷凌寒自学python第七十六天开始写Python的第一个爬虫6
孤荷凌寒自学python第七十六天开始写Python的第一个爬虫6 (完整学习过程屏幕记录视频地址在文末) 今天在上一天的基础上继续完成对我的第一个代码程序的书写. 不过由于对python-docx模 ...
- 阿里云DTS VS MySQLdump
云平台的到来,使得越来越多用户的数据库由云下迁到云上.对于这种情况,阿里对此提出两种方案,一种是MySQL自带的MySQLdump,另外一种就是阿里云的DTS. DTS支持异构数据源之间的数据迁移同步 ...