我剛剛在幾個星期前學會了JavaScript和jQuery,自那時起,我總是通過知道屏幕和窗口的大小來定位我所有的div和東西在屏幕上我覺得非常有用,但現在我不知道這是否是一種好的做法,因爲它使我的網頁完全依賴於jquery,我不知道它是否會在不同的瀏覽器中導致一些麻煩。
我真的很想找到像「當然是一個很好的做法,使用所有你想要的腳本」的答案,因爲我真的很喜歡這個JavaScript的東西,但只是告訴你的想法。是定位與JavaScript一個很好的做法
回答
我很抱歉,但我會打破你的泡沫,有點。
這樣做有點好 - 只要頁面看起來OK,如果你禁用Javascript,我會說它應該看起來比「好」還要好。我也想說,如果你的網站的功能真的需要JavaScript,你也應該這樣做。
請記住,有一定比例的用戶將禁用Javascript。我已經看到網站看起來可怕這種方式(我使用Firefox上的NoScript,並選擇性地啓用JavaScript,因爲我的瀏覽器),和一對什麼都沒有出現沒有啓用JS。
不好。如Darin所說,你可以(也應該)使用CSS進行定位和造型。這是它的目的!隨意使用Javascript來增強頁面,但請記住我上面所說的內容!
您可以使用CSS來定位和設計元素的樣式。這就是它的設計目的。
這幾乎肯定是不好的做法。使用CSS進行樣式化 - JavaScript執行此操作更慢,工作更多,並且更容易中斷。
如果您將所有內容完全定位(固定座標),則在不同分辨率的屏幕上顯示效果不佳。這個問題沒有真正的答案..腳本有自己的位置,你可以使用你想要的所有腳本......但是,定位佈局的所有元素對於JS來說並不是一項工作。爲此使用CSS。
我會從這裏開始:Starting with HTML + CSS
沒關係使用它在某些情況下定位,但使用CSS是更好的做法,只要適用。
嗯,在我看來,你應該儘量避免它。但是我知道有時候你沒有選擇。
而且你可以使用腳本製作出色的網絡應用程序。
沒有一種方法適用於所有情況。每個Web應用程序都需要使用正確的工具和實踐來實現其目標。這在應用程序之間變化很大,對於您的問題沒有「正確的」答案。
有一個正確的答案。你永遠不會建議選擇JS來設計主要網站部分或元素的樣式。同樣,您也不會爲遊戲或其他應用程序提供CSS,因爲定位或樣式可能過於動態,無法通過平坦的非動態CSS文件實現。 – Utkanos 2012-07-11 16:00:52
將JavaScript用於行爲和CSS進行造型。
對於其他開發人員/設計師來說,使用JavaScript進行樣式設計較慢且難度很大,難以確定您所做的工作。
另外,如果您使用Firebug或Chrome Web Inspector,則無法看到您的樣式來自何處。
可選擇從JavaScript中設置類而不是特定樣式。您可以在類之間轉換以創建一個很好的效果。但至少你的同事可以看到樣式的定義和改變。
+1這當然不是「最佳做法」。 – kapa 2012-07-11 15:36:51
我同意這個答案,儘管我的評論可能似乎有不同意見。 – 2012-07-11 15:56:23
這取決於你的定位。
CSS應該是您定位標準的,普通的部分和網頁元素的首選。在這些情況下選擇JavaScript表明缺乏對CSS的理解。
同樣,如果您發現自己使用JS來定位不同設備的東西。 CSS再一次演變了;媒體查詢來了。規則:首先總是耗盡CSS的可能性。
也就是說,如果說JavaScript永遠不會用於定位,那就太簡單了。我們所有人,無論是對還是錯,都是爲了讓事物看起來正確的跨瀏覽器,特別是在支持較老的IE瀏覽器的情況下使用JS(而且這只是訴諸於)。
但是到目前爲止,JS定位的最大用例是現代web aps和遊戲。如果你正在建造一個星羅棋佈的隨機小行星遊戲,JS絕對是你的選擇,因爲這些位置是基於計算和計算的。
最後,請記住,當您在JS中定位時,您當然仍在使用CSS。 JS沒有自己的併發造型/定位系統 - 它只是設置CSS屬性。它只是能夠比平面CSS更加動態和有條件地做到這一點。
- 1. 「如果」與轉讓是一個很好的做法?
- 2. 它是一個很好的做法,同一列的多個表
- 3. 在一個文件中有多個類定義是不是很好的做法?
- 4. POJO中的泛型 - 這是一個很好的做法
- 5. 它是一個很好的做法,使用'的Response.Redirect()``中Global.asax`
- 6. GAE祖先查詢Hack:這是一個很好的做法嗎?
- 7. jQuery插件 - 這是一個很好的做法嗎?
- 8. 它是很好的做法,定義特定條件
- 9. AngularJs/Javascript,複製對象是很好的做法?
- 10. 這個網址是無效的,不是很好的做法?
- 11. 在一個表中有幾個外鍵是不是很好的做法?
- 12. 是@unlink一個不好的做法?
- 13. 它是很好的做法,lapply重新定義()作爲mclapply()
- 14. 有一個很長的初始化方法是不好的做法嗎?
- 15. 將html分配給javascript變量是一種很好的做法嗎?
- 16. 在JavaScript中結合設計模式是一種很好的做法
- 17. 在樹幹上工作是一種很好的做法嗎?
- 18. 將變量設置爲「Nothing」是一種很好的做法?
- 19. 使用可變子域名是一種很好的做法嗎?
- 20. 在SwingWorker內部運行ExecutorService是一種很好的做法嗎?
- 21. 在Application_Deactivated上更新LiveTile是一種很好的做法嗎?
- 22. 緩存片段是一種很好的做法嗎?
- 23. 由URL緩存是一種很好的做法嗎?
- 24. 這是一個很好的綁定方法嗎?
- 25. 很好的做法,從一個枚舉值
- 26. Android全屏應用程序:一個很好的做法?
- 27. 在JavaScript中使用箭頭函數是否被認爲是很好的做法?
- 28. 這是一個很好的做法,爲實體返回可用的選項
- 29. Fk在不同的模式中,這是一個很好的做法嗎?
- 30. 是相同的變量多次聲明一個很好的做法
這不是一個好習慣。我不想追捕從JavaScript設置的樣式。我的工具可以幫助我在CSS中找到不是JS的東西。 – 2012-07-11 15:36:36
@Bart我不知道你是否閱讀*整個*答案... – 2012-07-11 15:37:57
是的,我讀了你的答案,你說「它可以做到這一點」。 – 2012-07-11 15:48:42