2013-07-05 53 views
1

我使用ASP和Ajax控件構建一個多列組合框位置的Web用戶控件。 它工作得很好。 如何根據客戶端屏幕和用戶控件在頁面上使用javascript設置下拉大小和位置。如何根據客戶端屏幕

回答

0

您需要使用元素的.style.leftstyle.top等屬性以及document.body元素的.scrollHeight。對於尺寸,您將使用.style.height.style.width

的元素必須在你的CSS position:absolute樣式。您可以通過將父項設爲position:relative來使其相對於父項的絕對位置。

然後,JavaScript可能看起來像:

yourelement.style.top= document.body.scrollHeight + 100 + 'px'; 

...會把元素的頂邊100像素從窗口的滾動高度。


每個元素的絕對位置和位置可以使用控制:

yourelement.style.top = ...'px'; 
yourelement.style.bottom = ...'px'; 
yourelement.style.left = ...'px'; 
yourelement.style.right = ...'px'; 

yourelement.style.width = ...'px'; 
yourelement.style.height = ...'px'; 

爲了獲得不同的高度和寬度,可以使用document.scrollHeightdocument.documentElement.scrollHeightdocument.body.scrollHeight(取決於瀏覽器)。這些也有.scrollWidth

+0

不工作我是把這些所有的功能(在警告框),並叫我來回的用戶控件的onfocus事件該功能,它表明noting.I需要我的用戶控件的位置在客戶端screen.where正是我控制位於。 –

+0

將控制盒的樣式設置爲'position:absolute'。然後使用'.offsetHeight','.clientHeight'和'.scrollHeight',以及我答案中的信息來做你想做的事情。沒有其他辦法,所以如果它不工作,你需要慢慢調試或做一些研究。 – Ben

+0

這是working.After中抽到容器寬度,高度,頂部和左側一container.I'm扭曲了控制。 –