```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>移動元素</title>
<style type="text/css">
pre {
font-size: 16px;
font-weight: 700;
margin-top: 255px;
}
* {
margin: 0;
padding: 0;
}
input {
margin-top: 20px;
}
input:hover {
cursor: pointer;
}
div {
margin-top: 30px;
width: 200px;
height: 200px;
position: absolute; /* 要移動div,必須是absolute才不會影響其他元素的布局 */
background-color: green;
}
</style>
</head>
<body>
<input type="button" value="移動400px" id="btn1">
<div id="dv"></div>
<pre>
div要移動必須要脫離文檔流:position: absolute;
element.offsetHeight 返回元素的高度。
element.offsetWidth 返回元素的寬度。
element.offsetLeft 返回元素的水平偏移位置。
element.offsetParent 返回元素的偏移容器。
element.offsetTop 返回元素的垂直偏移位置。
</pre>
<script type="text/javascript">
var div = document.getElementById("dv");
document.getElementById("btn1").onclick = function(){
var timeId = setInterval(function(){
var current = div.offsetLeft; // 數字類型,沒有px
var step = 9; // 每次移動像素
current += step;
if(current<=400) {
div.style.left = current+"px";
}else {
clearInterval(timeId);
}
}, 20);
}
</script>
</body>
</html>
```
- js應用場景
- js組成
- js書寫位置
- 浮點數精度問題
- undefined與null的區別
- 數據類型轉換
- 運算符優先級
- 代碼調試
- 函數
- 函數的定義和調用
- 函數的return細節
- 函數是一種數據類型
- this的指向
- 函數成員
- 函數閉包
- 作用域
- 預解析
- js對象
- 對象的創建與調用
- new關鍵字
- this關鍵字
- 構造函數創建對象
- 事件
- 數據類型
- 繼承
- 雜項
- 如何阻止標簽的默認行為
- 為一個標簽綁定或移除任何一個事件
- 如何阻止事件的冒泡行為
- 事件的三個階段
- 移動元素的條件
- 勻速動畫函數封裝
- 變速動畫函數封裝
- 獲取元素的css屬性值
- 數據類型判斷方法
- 創建對象的7種寫法
- 如何繼承
- 為js內置對象添加原型函數
- 將局部變量轉換為全局變量
- call函數的用法
- 沙箱
- 淺拷貝
- 深拷貝
- 對象賦值會改變對象
- 解析URL中的字符串
- 格式化日期
- 獲取當前瀏覽器類型
- Vue3.x
- 調式工具Vue Devtools