jQuery Mobile 入門教程

来源:http://www.cnblogs.com/zhengjialux/archive/2016/09/14/5872511.html
-Advertisement-
Play Games

原作:Getting started with jQuery Mobile —— Matthew David 翻譯:filod 譯文:http://blog.filod.net/jquerymobile-2/295.html 轉載聲明:請註明原作、翻譯以及譯文鏈接。 你每天都會對著它講話,和它玩游戲 ...


原作:Getting started with jQuery Mobile   —— Matthew David

翻譯:filod

譯文:http://blog.filod.net/jquerymobile-2/295.html

轉載聲明:請註明原作、翻譯以及譯文鏈接。


你每天都會對著它講話,和它玩游戲,用它看新聞——沒錯,它就是你褲兜里的智能手機。android,黑莓還是iphone?為了讓你清楚意識到究竟哪些才算是智能手機,我在下麵總結了一個智能手機系統/設備的列表:

  • Apple iPhone/iPod Touch
  • Google Android
  • RIM BlackBerry/Playbook OS
  • Nokia Symbian (我承認它該退休了,可是在世界範圍內它仍然擁有10億以上的用戶)
  • HP/Palm WebOS
  • Microsoft Window Phone 7

沒錯,這令人眼花繚亂的眾多智能手機系統對 HTML標準支離破碎的支持,直接導致了處理這些系統瀏覽器的相容性成為了你最大的挑戰。舉例來說,蘋果的iphone對HTML5標準有著很好的支持, 然而Symbian和Microsoft Phone系列卻幾乎不支持HTML5的任何特性(譯註:準確的說,是windows mobile系列,目前的windows phone 7對HTML5支持很好)。jQuery社區為了在解決相容性和高效創建移動web站點做了大量努力,並開發了jQueryMobile這個移動框架。而本文旨在為讀者介紹仍在alpha版本階段的jQueryMobile框架(譯註:目前jQueryMobile已經為beta2版本)的開發基礎知識和技巧。

用jQueryMobile來開髮網站

Gartner study(link)的數據表明在未來將會有越來越多的用戶通過手機或者平板電腦訪問你的網站,到2013年,將會有18億的移動設備用戶,對你的 web設計團隊來說開發移動站點已經不能再僅僅是“計劃”而已了,你必須將你的移動站點迅速變為“現實”才行。

在美國,IOS和Android設備占了很大比重,而美國以外的地方主要是Nokia的設備占統治地位。jQueryMobile為了在儘可能多的 設備上運行,承諾將支持絕大部分移動設備/系統。在早些時候(2010年9月),jQuery的作者John Resig透露了一張jQueryMobile對各種設備/系統的支持表格(見下)。對於每個系統來說,jQueryMobile將他們的支持情況分為 A(好),B(一般),C(基本)三個等級。

由於移動設備市場的變幻莫測,這張圖表也會迅速變化(一個很好的例子就是目前Nokia正在與Microsoft合作生產基於Windows Phone 7的設備——而在jQueryMobile中WP7的支持等級為A)。

jQueryMobile始終貫徹漸進增強的設計觀念來滿足你的開發需要。jQuerymobile的核心能使得基本的HTML標簽在所有的瀏覽器中生效,在此基礎之上,再對網頁的行為和效果進行增強,這意味著你的網頁在等級較高的瀏覽器中能獲得非常優秀的體驗,而在較差的瀏覽器也能正常的使用。

繁雜的移動瀏覽器們帶來了巨大的挑戰。一方面某些瀏覽器(例如Android的原生瀏覽器,Safari移動版等)都基於WebKit的一個變種版 本(WebKit是一個web渲染引擎,Google Chrome桌面版,Apple的Safari都採用了該引擎。WebKit並不知道當前運行的網路的好壞,操作系統是什麼甚至屏幕滾動到了哪裡,為了讓 WebKit知道這些情況,操作系統/瀏覽器/設備廠商都需要基於WebKit來構建自己的瀏覽器程式),並帶有豐富的特性。另一方面Nokia的 Symbian和Windows Mobile 6(及更早的版本)這些胡亂支持標準的設備又占有相當大的市場。雪上加霜的是,WebKit在不同移動設備中還有不同的版本。所以漸進增強的基本目標就是 你的內容能夠在任何的設備中都能夠正常“顯示”。

jQueryMobile使用入門:

使用jQueryMobile的第一步,先創建一個html頁面,併在head標簽中加入以下內容:

 <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a4.1/jquery.mobile-1.0a4.1.min.css">
<script src="http://code.jquery.com/jquery-1.5.min.js"></script>
<script src="http://code.jquery.com/mobile/1.0a4.1/jquery.mobile-1.0a4.1.min.js"></script>

  

正如你在代碼中看到的,jQueryMobile是jQuery的一個擴展。目前來說,壓縮後的jQuerymobile僅12Kb。

上面的代碼均來自jQuery的CDN伺服器,css文件中也包含必需的圖片鏈接,如果你需要在你自己的伺服器上運行,可以下載下麵的文件解壓縮後部署到你的伺服器上:

Zip File: jquery.mobile-1.0b2.zip

在創建第一個jQueryMobile頁面時你需要創建三塊基本內容,下麵的推薦模版展示了這一過程,你可以在未來的項目中使用它:

<meta name="viewport" content="width=device-width, minimum-scale=1, maximum-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a4.1/jquery.mobile-1.0a4.1.min.css">
<script src="http://code.jquery.com/jquery-1.5.min.js"></script>
<script src="http://code.jquery.com/mobile/1.0a4.1/jquery.mobile-1.0a4.1.min.js"></script>
<div data-role="page">
<div data-role="header">
<h1>Page Title</h1></div><!-- /header -->
<div data-role="content">
<p>Page content goes here.</p></div><!-- /content -->
<div data-role="footer">
<h4>Page Footer</h4></div><!-- /header --></div><!-- /page -->

  

這是模版頁面

在模版中有些地方值得我們註意。首先是DIV元素的使用,我們知道,既然HTML5在移動設備中如此流行,為什麼不使用更加新的HEADER, ARTICLE, SECTION, FOOTER元素呢?這是因為較老的智能手機瀏覽器無法明白新的HTML5元素。在某些情況下,例如windows phone上老版本的IE會出現一個bug使得無法載入頁面的css。而DIV元素卻被廣泛支持。

此時你已經可以保存你的網頁併在瀏覽器中查看了,這些代碼同樣可以在桌面瀏覽器中正常工作。我推薦你使用Chrome來進行本地測試。要在真實環境測試,你就需要相應移動設備了。

使用超鏈接

普通網頁和移動網頁的一個巨大的不同便是屏幕中呈現內容的數量多寡上。雖然你可以在你的iPhone上載入紐約時報的主頁,但你需要縮放它才能順利閱讀上面的內容。這樣的體驗並不好,而更好的解決方案是減少那些雜亂的內容,只在屏幕上顯示你需要顯示的內容。

如果是傳統的網站,你可能會創建一些包含少量內容的子頁面,而當你使用jQueryMobile時,你最好在頁面中包含“微量”的內容,這樣才會更有效率。

在上面例子中你已經看到瞭如何利用模版來創建一個頁面。現在讓我們更進一步,來創建內容的“page”。jQueryMobile中的一個“page”結構一般使用一個DIV來組織。現在你可以使用上面的模板來創建一個包含四個跳轉到其他頁面的鏈接的導航頁面:

<!-- Start of first page -->
<div data-role="page" id="menu">
<div data-role="header">
<h1>Menu</h1>
</div><!-- /header -->
<div data-role="content">
<p>What vehicles do you like?</p>
<p><a href="#Cars">Cars</a></p>
<p><a href="#Trains">Trains</a></p>
<p><a href="#Planes">Planes</a></p>
</div><!-- /content -->
<div data-role="footer">
<h4>Page Footer</h4>
</div><!-- /footer -->
</div><!-- /page -->

  

上面這段代碼中第一個div非常重要,它包含有一個id和一個data-role屬性:

data-role="page" id="menu"

  

data-role定義了這個div是一個“page”,page這個術語稍微有點讓人誤解,“page”這裡其實指的是一個可視面或者在屏幕里未 隱藏的HTML代碼部分,而不是指的一個單獨的頁面(或者說單獨的HTML文件)。data-role="page" 意味著jQueryMobile會根據div元素在屏幕中構建可視內容。而id屬性允許你通過a標簽鏈接到該page,或者其他page。

上面創建的導航頁是我們在瀏覽器看到的第一個頁面,接下來我們再添加三個“page”,他們有不同的id:Cars, Planes,Trains。

<div data-role="page" id="Cars">
<div data-role="header">
<h1>Cars</h1>
</div><!-- /header -->
<div data-role="content">
<p>We can add a list of cars</p>
</div><!-- /content -->
<div data-role="footer">
<h4>Page Footer</h4>
</div><!-- /footer -->
</div><!-- /page -->
<!-- Start of third page -->
<div data-role="page" id="Trains">
<div data-role="header">
<h1>Trains</h1>
</div><!-- /header -->
<div data-role="content">
<p>We can add a list of trains</p>
</div><!-- /content -->
<div data-role="footer">
<h4>Page Footer</h4>
</div><!-- /footer -->
</div><!-- /page -->
<!-- Start of fourth page -->
<div data-role="page" id="Planes">
<div data-role="header">
<h1>Planes</h1>
</div><!-- /header -->
<div data-role="content">
<p>We can add a list of planes</p>
</div><!-- /content -->
<div data-role="footer">
<h4>Page Footer</h4>
</div><!-- /footer -->
</div><!-- /page -->

  

現在,在你的Android或者IOS設備里測試一下,當你載入好頁面後你會發現這三件事情:

  • 導航頁出現在屏幕中(你可以上下滾動一下,並沒有別的東西出現)
  • 當你點擊一個鏈接時,會動畫切換到另一個頁面。
  • 新頁面的頂部會自動出現一個“back”按鈕(譯註:jQueryMobile目前版本預設已經取消了這一功能)

其實這些div元素預先會載入並緩存到你的瀏覽器中,因此“頁面”間的切換會非常流暢。

在同一個HTML頁面創建多個在屏幕上顯示的“頁面”使得你可以大大減少頁面載入的次數,但同時也會導致許多移動設備運行緩慢。 jQueryMobile將頁面所有的鏈接跳轉都視作Ajax調用,這樣可以充分利用CSS的過渡效果,當你想要鏈接到你自己的web程式之外的某些鏈接 時,你可以這樣編寫你的鏈接代碼:

<a href="http://www.madinc.co" rel="external">madinc.co</a>

  

如上所示,僅需要為a標簽添加 rel="external"屬性即可。然而jQueryMobile對於(同域的)外部鏈接並不是簡單地跳轉完事兒,相比於其他移動框架它更進了一步, 因為他對(同域的)所有鏈接都採用Ajax調用方式,從而實現漂亮的轉場效果。基於此你可以將你的網頁內容分離到許多頁面來創建更大型的項目。

使用組件

鏈接和頁面只是移動網頁設計中一個很小的部分,APP程式(比如採用Object-C,C#,java等在Android或者IOS設備上創建的本 地應用程式)快速增長的同時產生了豐富的控制項和組件(例如菜單欄,列表等控制項)使得開發者可以很方便地創建複雜的應用程式,這正是許多移動網頁開發者第二 個巨大的挑戰——因為在原生的HTML裡面並沒有這些控制項或者組件。

針對這一問題,jQueryMobile當前正在創建一組非常有用的組件。以下是在alpha版本中已經發佈的組件:

  • Pages(頁面)
  • Dialog boxes(對話框)
  • Toolbars(工具欄)
  • Buttons(按鈕)
  • Content formatting(內容格式化)
  • Form elements(表單)
  • List views(列表)

只要你懂的一點點的HTML,你會發現添加這些組件並不困難,接下來我們看幾個例子。

為頁面添加header和footer

上面的模版已經為你展示瞭如何輕鬆地創建工具欄(header,footer)。我們知道,在不同尺寸的屏幕上創建自適應工具欄通常都是非常難的活 兒。而現在,jQueryMobile讓你能夠非常容易地創建一個帶有一個居中標題和兩個按鈕並且自適應任何屏幕尺寸的header:

<div data-role="header" data-position="inline">
<a href="cancel.html" data-icon="delete">Cancel</a>
<h1>Edit Contact</h1>
<a href="save.html" data-icon="check">Save</a>
</div>

  

代碼中a標簽的順序決定了按鈕顯示的位置。以上代碼在幾乎所有的設備中都能取得一致的顯示效果。

header和footer同樣可以被自定義為你想要的樣式,比如改造一個導航條:你可以添加一些按鈕在footer裡面,從而導航到某一頁面的不同部分:

<pre class="brush:html;gutter:false;">
<div data-role="navbar">
<ul>
<li><a href="#nav1" class="ui-btn-active">One</a></li>
<li><a href="#nav2">Two</a></li>
</ul>
</div><!-- /navbar -->

  

從這些代碼你可以發現jQueryMobile不過是一些簡單的HTML代碼,導航條依然是div,而諸如ui-btn-active這個class可以使得你的按鈕顯示為被選擇狀態。

當你點擊一個按鈕並導航到該頁面的另一個部分時,jQueryMobile會自動加上一個back按鈕,以下的代碼結構可以清晰地展現這一過程:

<div data-role="page">
<div data-role="header">
<h1>Navigation</h1>
</div><!-- /header -->
<div data-role="content">
Navigation page
</div><!-- /content -->
<div data-role="footer">
<div data-role="navbar">
<ul>
<li><a href="#nav1" class="ui-btn-active">One</a></li>
<li><a href="#nav2">Two</a></li>
</ul>
</div><!-- /navbar -->
</div><!-- /footer -->
</div><!-- /page -->
<div data-role="page" id="nav1">
<div data-role="header">
<h1>Nav Screen 1</h1>
</div><!-- /header -->
<div data-role="content">
Screen for Navigation One </div><!-- /content -->
<div data-role="footer">
<h4>Additional Footer information</h4>
</div><!-- /footer -->
</div><!-- /page -->
<div data-role="page" id="nav2">
<div data-role="header">
<h1>Nav Screen 2</h1>
</div><!-- /header -->
<div data-role="content">
Screen for Navigation Two
</div><!-- /content -->
<div data-role="footer">
<h4>Additional Footer information</h4>
</div><!-- /footer -->
</div><!-- /page -->

  

創建位置固定的header和footer

工具條固定在屏幕上方或者下方是一個很常見的界面設計,你可以為footer或者header添加 data-position="fixed"來實現這一點。以下代碼會強制footer/header固定在下方/上方:

 <div data-role="header" data-position="fixed">
<h1>Navigation</h1>
</div><!-- /header -->
<div data-role="content" >
<ul data-role="listview" data-dividertheme="d" style="margin-top: 0;">
<li data-role="list-divider">Royal Family</li>
<li><a href="#nav1">Henry VIII</a></li>
<li><a href="#nav1">George V</a></li>
<li><a href="#nav1">Prince of Wales</a></li>
<li><a href="#nav1">Elizabeth I</a></li>
<li><a href="#nav1">Elizabeth II</a></li>
<li data-role="list-divider">Prime Miniseters</li>
<li><a href="#nav2">Winston Churchill</a></li>
<li><a href="#nav2">Tony Blare</a></li>
<li><a href="#nav2">David Cameron</a></li>
</ul>
</div><!-- /content -->
<div data-role="footer" data-position="fixed">
<div data-role="navbar">
<ul>
<li><a href="#nav1" class="ui-btn-active">Royals</a></li>
<li><a href="#nav2">Leaders</a></li>
</ul>
</div><!-- /navbar -->
</div><!-- /footer -->
</div><!-- /page -->
<div data-role="page" id="nav1" data-position="fixed">
<div data-role="header">
<h1>Royal Family</h1>
</div><!-- /header -->
<div data-role="content">
<p>Members and relatives of the British Royal Family historically represented the monarch in various places throughout the British Empire, sometimes for extended periods as viceroys, or for specific ceremonies or events. Today, they often perform ceremonial and social duties throughout the United Kingdom and abroad on behalf of the UK, but, aside from the monarch, have no constitutional role in the affairs of government. This is the same for the other realms of the Commonwealth though the family there acts on behalf of, is funded by, and represents the sovereign of that particular state, and not the United Kingdom.</P>
</div><!-- /content -->
<div data-role="footer" data-position="fixed">
<h4>Royal Family</h4>
</div><!-- /header -->
</div><!-- /page -->
<div data-role="page" id="nav2" data-position="fixed">
<div data-role="header">
<h1>Prime Ministers</h1>
</div><!-- /header -->
<div data-role="content">
The Prime Minister of the United Kingdom of Great Britain and Northern Ireland is the Head of Her Majesty's Government in the United Kingdom. The Prime Minister and Cabinet (consisting of all the most senior ministers, who are government department heads) are collectively accountable for their policies and actions to the Sovereign, to Parliament, to their political party and ultimately to the electorate. The current Prime Minister, David Cameron, was appointed on 11 May 2010.</div><!-- /content -->
<div data-role="footer" data-position="fixed">
<h4>Prime Minister</h4>
</div><!-- /header -->
</div><!-- /page -->

  

看,現在不使用Objective-C ,你也可以創建一個易用的界面,是不是很不錯?

對話框

使用data-rel屬性可以方便地創建彈出式對話框,以下代碼將會以對話框形式載入dialog.html頁面:

a href="dialog.html" data-rel="dialog">Open dialog</a>

  

由於對話框在jQueryMobile裡面其實和其他page沒有任何區別,因此你可以在對話框里添加任何類型的HTML代碼,當然你也可以在同一個html文件里創建兩個page,一個是主界面:

<div data-role="page">
<div data-role="header">
<h1>Dialog Box</h1>
</div><!-- /header -->
<div data-role="content">
<a href="#dialogPopUp" data-rel="dialog" data-role="button">Open dialog</a>
</div><!-- /content -->
<div data-role="footer">
<h4>Page Footer</h4>
</div><!-- /footer -->
</div><!-- /page -->

  

另一個是對話框(上面的HREF屬性便指向這個對話框page):

<div data-role="page" id="dialogPopUp">
<div data-role="header">
<h1>Dialog Title</h1>
</div><!-- /header -->
<div data-role="content">
This is a dialog box
</div><!-- /content -->
<div data-role="footer">
<h4>Additional Footer information</h4>
</div><!-- /footer -->
</div><!-- /page -->

  

要註意以上代碼中footer是可選的,但是你必須包括header,因為如果沒有header,將無法顯示自動生成的對話框關閉按鈕。

列表

當你有大量的數據條目需要顯示時,列表是一個不錯的選擇。 下麵是使用ul時的HTML代碼:

<ul>
<li><a href="#nav1">Henry VIII</a></li>
<li><a href="#nav1">George V</a></li>
<li><a href="#nav1">Prince of Wales</a></li>
<li><a href="#nav1">Elizabeth I</a></li>
<li><a href="#nav1">Elizabeth II</a></li>
</ul>

  在jQueryMobile你可以通過data-role="listview"來將一個普通的列表轉換成一個非常華麗如同本地APP一般的列表樣式:

<ul data-role="listview">
<li><a href="#nav1">Henry VIII</a></li>
<li><a href="#nav1">George V</a></li>
<li><a href="#nav1">Prince of Wales</a></li>
<li><a href="#nav1">Elizabeth I</a></li>
<li><a href="#nav1">Elizabeth II</a></li>
</ul>

  

就是這樣,僅需要20個字母,你就搞定了這一切。

除此之外,jQueryMobile還為列表提供了一些增強的選項,以下代碼將為列表添加分隔符(divider):

<ul data-role="listview" data-dividertheme="d">
<li data-role="list-divider">Royal Family</li>
<li><a href="#home">Henry VIII</a></li>
<li><a href="#home">George V</a></li>
<li><a href="#home">Prince of Wales</a></li>
<li><a href="#home">Elizabeth I</a></li>
<li><a href="#home">Elizabeth II</a></li>
<li data-role="list-divider">Prime Ministers</li>
<li><a href="#home">Winston Churchill</a></li>
<li><a href="#home">Tony Blare</a></li>
<li><a href="#home">David Cameron</a></li>
</ul>

  

如上面的代碼所示,為li元素添加data-role="list-divider"即可實現分隔符的效果。

你還可以為列表添加小氣泡來展示一些附加數據(本例展示了英國皇室的統治時間):

<ul data-role="listview" style="margin-top: 0;">
<li><a href="#nav1">Henry VIII <span class="ui-li-count">Reign 37 Years</span></a></li>
<li><a href="#nav1">George V <span class="ui-li-count">Reign 25 Years</span></a></li>
<li><a href="#nav1">Prince of Wales <span class="ui-li-count">N/A</span></a></li>
<li><a href="#nav1">Elizabeth I <span class="ui-li-count">Reign 44 Years</span></a></li>
<li><a href="#nav1">Elizabeth II<span class="ui-li-count">Reign since 1952</span></a></li>
</ul>

  

下麵是一個更加複雜的例子,列表中包含了鏈接,圖片,文本:

<ul data-role="listview" style="margin-top: 0;">
<li>
<img src="http://img.freebase.com/api/trans/image_thumb/en/henry_viii_of_england?pad=1&errorid=%2Ffreebase%2Fno_image_png&maxheight=64&mode=fillcropmid&maxwidth=64" />
<h3><a href="index.html">Henry VIII</a></h3>
<p>Reign 37 Years</p>
<a href="#home">Details</a>
</li>
<li>
<img src="http://www.iwise.com/authorIcons/15/King_George%20V_64x64.png" />
<h3><a href="index.html">George V</a></h3>
<p>Reign 25 Years</p>
<a href="#home">Details</a>
</li>
<li>
<img src="http://img.freebase.com/api/trans/image_thumb/en/prince_of_wales_secondary_school?pad=1&errorid=%2Ffreebase%2Fno_image_png&maxheight=64&mode=fillcropmid&maxwidth=64" />
<h3><a href="index.html">Prince of Wales</a></h3>
<p>Reign N/A</p>
<a href="#home">Details</a>
</li>
<li>
<img src="http://www.iwise.com/authorIcons/13846/Elizabeth%20I%20of%20England_64x64.png" />
<h3><a href="index.html">Elizabeth I</a></h3>
<p>Reign 44 Years</p>
<a href="#home">Details</a>
</li>
<li>
<img src="http://www.iwise.com/authorIcons/9098/Elizabeth%20II_64x64.png" />
<h3><a href="index.html">Elizabeth II</a></h3>
<p>Reign Since 1952</p>
<a href="#home">Details</a>
</li>
</ul>

  

在你需要展現富文本時這種列表尤為有用,比如顯示一個包含照片,名字,平均分等信息的學生名單。

部署你的jQueryMobile站點

當你完成了開發,最後一步當然是讓全世界都看到你的工作成果啦~

到現目前為止,jQueryMobile都只是包含了一些HTML,CSS,javascript文件罷了,部署方式與一般的HTML站點無異。用FTP(或者其他你喜歡的方式)上傳到你的web伺服器就可以了,當然,你要確保你上傳了所有用到的文件。

此時已經大功告成,你就可以用你的移動設備訪問站點啦!

使用jQueryMobile的目標群是移動設備用戶,因此你可以考慮為你的網站創建兩個版本,一個為桌面用戶準備,另一個則為移動用戶(準備比如主站為www.xxxx.com,移動站位m.xxxx.com)。

接下來呢?

jQueryMobile當前版本已經做了非常多的工作,如果你想進入移動開發領域那麼現在已經無需再等待了,jQueryMobile讓一切都來得那麼簡單。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • screen.width screen.height screen.availHeight //獲取去除狀態欄後的屏幕高度 screen.availWidth //獲取去除狀態欄後的屏幕高度 一、通過瀏覽器獲得屏幕的尺寸 二、獲取瀏覽器視窗內容的尺寸 //高度 window.innerHeight ...
  • 簡單說明 這篇文章是我學習react一個多月來的總結,從基礎開始(包括編輯器設置,構建工具搭建),一步一步走向react開發。相信我,看完這篇文章,跟著文章的步驟走,保證讓你入門react並愛上react,掌握react-router,redux。本文遵循由淺入深的原則。 一、編輯器開始 這裡介紹的 ...
  • 回調函數 在javascript中,當一個函數A作為另外一個函數B的其中一個參數時,則稱A函數為回調函數,即A可以在函數B的運行周期內執行(開始,中間,結束)。 舉例來說,有一個函數用於生成node. 又有一個findNodes函數聲明用於查找所有節點,然後通過callback回調進行執行代碼。 關 ...
  • 1、DIV+CSS定義及優勢 Div+css 是什麼? Div+css 是一種目前比較流行的網頁佈局技術 Div 來存放需要顯示的數據(文字,圖表..) , css 就是用來指定怎樣顯示, 從而做到數據和顯示相互的效果 Div+css 優勢 採用DIV+CSS模式的網站具有以下優勢: 表現和內容相分 ...
  • 很久前的某一天,一位大神問我,你知道ES6相對於ES5有什麼改進嗎? 我一臉懵逼的反問,那個啥,啥是ES5、ES6啊。 不得不承認與大神之間的差距,回來深思了這個問題,結合以前的知識,算是有了點眉目。 JavaScript一種直譯式腳本語言,是一種動態類型、弱類型、基於原型的語言,我們知道javas ...
  • 可見上邊的樣式可實現半透明的遮罩層,我們只需將一個div標簽放置在我們的body中,如下: 在需要遮罩的時候,我們只需將mask變成可見的即可: ...
  • 2、日期類型數值轉換 3、漂亮的隨機代碼 4、合併數組 5、用0補全位數 6、交換值 7、刪除數組元素 8、獲取最大值和最小值 9、拷貝數組 10、日常中true、false判斷 11、獲取今天的0點:0分:0秒和23點:59分:59秒 ...
  • 看CSS3時發現了一個nth-of-type選擇器,發現平時基本沒見過用,就研究了一下,w3c是這樣說明的: :nth-of-type(n) 選擇器匹配屬於父元素的特定類型的第 N 個子元素的每個元素. 看起來和nth-child很像 :nth-child(n) 選擇器匹配屬於其父元素的第 N 個子 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...