我正在定義一個彈出對話框組件,它允許用戶輸入一些數據以放置在頁面上。最終的結果是當單擊屏幕上的按鈕時它會出現,並且還可以在頁面上拖動。拖動來移動頁面周圍的組件?
我沒有太多的此組件還沒有的,這裏是它的代碼:
//edit-global-names-dialog-box.component.ts
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'edit-global-names-dialog-box',
templateUrl: './edit-global-names-dialog-box.component.html',
styleUrls: ['./edit-global-names-dialog-box.component.css']
})
export class EditGlobalNamesDialogBoxComponent implements OnInit{
constructor() {}
ngOnInit() {
}
}
//edit-global-names-dialog-box.component.html
<div id="dialog-box-container">
<div id="header">
</div>
<div id="content">
</div>
<div id="footer">
</div>
</div>
//edit-global-names-dialog-box.component.css
#dialog-box-container {
height: 12%;
width: 25%;
z-index: 2 !important;
position: absolute;
background-color: lightgrey;
right: 50%;
bottom: 50%;
transform: translate(45%,-50.1%);
-moz-box-shadow: 8px 8px 8px #d9d9d9;
-webkit-box-shadow: 8px 8px 8px #d9d9d9;
box-shadow: 8px 8px 8px #d9d9d9;
}
#header {
border: 0.5px solid dimgrey;
border-bottom: none;
height: 20%;
}
#content {
border: 0.5px solid dimgrey;
border-bottom: none;
height: 50%;
}
#footer {
border: 0.5px solid dimgrey;
height: 26%;
}
你可以看到,它只是在目前的模板,出現在所有其他頁面的一個div內容,有一個陰影,並在頁面中居中。
想要我現在想要實現的功能是,當用戶點擊並拖動對話框的header
div時,整個對話框會在頁面上移動。
我已經採取了看看以前發佈的幾個問題: Using JS to move a div around the page Make Div Draggable using CSS這些建議純JavaScript,或者做事情,我不知道會用角網以及jQuery的方式。
如何讓我的組件在頁面上拖動?
一個解決方案是使用Javascript抓住onmousemove事件,然後將彈出窗口div設置爲鼠標的位置。這既複雜又容易,如果你想讓我給你一個例子,可能需要幾分鐘讓我給你。 –
@SimonHyll如果你可以發佈一個例子作爲答案,那會很棒。 – JavascriptLoser