2010-12-02 31 views
1

什麼是一些有效的策略,以確保在頁面打開時可以查看特定的控件?如何確保網頁打開時查看元素?

更具體地說,我有一個驗證消息出現在摺疊下方,我想確保在必要時看到它。

我考慮使用書籤(名爲錨),但沒有乾淨的方式來使用它,因爲我只知道在處理完頁面後出現錯誤。

這對大多數預期的解決方案無關緊要,但我添加了asp.net-mvc標籤,以防框架中有什麼奇怪的東西可以幫助我。

是的,jQuery解決方案是可以的。

回答

1

你可以利用JavaScript中的scrollIntoView調用做到這一點 - 它會給你大致相同的結果作爲錨,但你可以專門做呼叫,當您需要將錯誤滾動到視圖中。

1

您還可以使用jQuery來做到這一點,就像這樣:

window.scrollTo(
    $("#wannaBeVisible").position().left, 
    $("#wannaBeVisible").position().top); 
0

標記您的驗證消息是這樣的;

<p class="validation">Validation message here!</p> 

然後用CSS定位它;

.validation { 
display: block; 
position: fixed; 
bottom: 0; 
left: 0; 
right: 0; 
height: 1.5em; 
} 

你可能不得不嘗試一些變化,但它應該是一個很好的開始。這將執行類似於Stack Overflow頂部彈出通知的操作,除非它們位於窗口的底部。

不需要JS!

More information on CSS Fixed Positioning

+0

我試圖保持與應用中的其他驗證信息一致,這樣我就可以」不要這樣做。不管怎麼說,還是要謝謝你。 – 2010-12-02 21:22:09

1

這聽起來像您嘗試使用代碼來解決可用性問題。驗證消息應該更接近所討論的控制,否則它們看起來不相關。

1

最簡單的方法:在控件旁邊創建一個錨點標記,爲其命名並加載file.html#anchorname。

如果更改URL是不可能的,你可以調用焦點錨元素,並且將它滾動到視圖