什麼是一些有效的策略,以確保在頁面打開時可以查看特定的控件?如何確保網頁打開時查看元素?
更具體地說,我有一個驗證消息出現在摺疊下方,我想確保在必要時看到它。
我考慮使用書籤(名爲錨),但沒有乾淨的方式來使用它,因爲我只知道在處理完頁面後出現錯誤。
這對大多數預期的解決方案無關緊要,但我添加了asp.net-mvc標籤,以防框架中有什麼奇怪的東西可以幫助我。
是的,jQuery解決方案是可以的。
什麼是一些有效的策略,以確保在頁面打開時可以查看特定的控件?如何確保網頁打開時查看元素?
更具體地說,我有一個驗證消息出現在摺疊下方,我想確保在必要時看到它。
我考慮使用書籤(名爲錨),但沒有乾淨的方式來使用它,因爲我只知道在處理完頁面後出現錯誤。
這對大多數預期的解決方案無關緊要,但我添加了asp.net-mvc標籤,以防框架中有什麼奇怪的東西可以幫助我。
是的,jQuery解決方案是可以的。
Answered on Twitter通過David Wolever
document.onload = function() { location.href = "#foo" }
你可以利用JavaScript中的scrollIntoView調用做到這一點 - 它會給你大致相同的結果作爲錨,但你可以專門做呼叫,當您需要將錯誤滾動到視圖中。
您還可以使用jQuery來做到這一點,就像這樣:
window.scrollTo(
$("#wannaBeVisible").position().left,
$("#wannaBeVisible").position().top);
標記您的驗證消息是這樣的;
<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!
這聽起來像您嘗試使用代碼來解決可用性問題。驗證消息應該更接近所討論的控制,否則它們看起來不相關。
最簡單的方法:在控件旁邊創建一個錨點標記,爲其命名並加載file.html#anchorname。
如果更改URL是不可能的,你可以調用焦點錨元素,並且將它滾動到視圖
我試圖保持與應用中的其他驗證信息一致,這樣我就可以」不要這樣做。不管怎麼說,還是要謝謝你。 – 2010-12-02 21:22:09