1. 前端控制項有ID,怎麼獲取不到這個id
'' = txtPulsecounting1 這個並不是字元串。 需要用引號。 不然會被當做變數來使用。 document.getElementById('""').value = "cndy";
2. 前端頁面的插件有哪些
工具類
方便操作對象,數組等的工具庫
underscore.js
lo-dash與underscore.js的api基本一致。與underscore比其優勢是,效率高;可自定義構建
Sugar在原生對象上增加一些工具方法
functional.js提夠了一些Curry的支持
Watch.js監視對象或屬性的變化
bacon.js函數式編程,cool
streamjs用流的方式來對數組,對象進行系列操作
非同步流程式控制制
eventproxy朴靈出品
Arbiter.js詳細
發布訂閱
qPromise風格的
Async.js
mock
Mock.js生成隨機數據和mock Ajax 請求
jquery-mockjaxmockajax請求
時間庫
moment
datejs
瀏覽器探測
Bowser探測具體瀏覽器和版本
ua-parser-js探測具體瀏覽器和版本,操作系統,設備類型等
調試
console-polyfill能放心的使用 console.log()之類的console方法
log讓控制台輸出的log有樣式
Konsole.js在頁面的一個元素里輸出log信息詳細
uri.jsuri操作
cookie增刪改cookie的工具庫
director前端路由庫詳細
BigDecimal.js提高精度的數字操作
JSDoc根據javascript文件中注釋的信息,生成API文檔詳細
hotkeys鍵盤事件的封裝
MD5用 MD5 的方式加密文件的庫
瀏覽器增強類
讓一些舊瀏覽器變牛逼的庫
Selectivizr讓IE 6-8一些的css3選擇器
ieBetter讓ie6-8有高級瀏覽器的特性
ExplorerCanvas讓IE8-的瀏覽器支持canvas
CSS3 Pie讓IE6-9支持border-radious,box-shadow,linear-gradient。 可以使用.htc文件(注意Mine type)或.js文件。在用Pie.js時,box-radious的元素有背景色時,不顯示背景色。。。
formFive讓舊的瀏覽器支持HTML5表單的一些特性,如 placeholder,autofocus
https://github.com/anselmh/object-fit讓瀏覽器支持object-fit這css規則
HTML5 Cross Browser Polyfills一堆Polyfills
flexibility讓舊的 IE 也支持 Flexbox
選擇器增強
Lining.js讓瀏覽器實現類似::nth-line(), ::nth-last-line()的效果
未歸類
prefixfree用了它,寫css時,就不需要加瀏覽器的前綴了
表單類
jquery-file-upload上傳文件組件詳細
zTree文件樹形視圖控制項
Treed樹編輯器。感覺展示的感覺很像思維導圖
FileAPI對文件選擇框內的文件的一些處理
表單驗證
.Validate詳細
jQuery-Validation-Engine
表單元素美化
uniform提供對下拉框,單,復選框,按鈕等表單元素的美化
select2多選下拉框
selectivity和unfirom比較類似
DropKick下拉框,單,多選。外觀比uniform好
switcheryios7風格的開關組件
nouislider用滾動條來設置/控制(音量等)
range.css美化input[type=range]元素的外觀
圖片類
holderjs生成占點陣圖片
lazyload
imagesLoaded選取的圖片都載入好後執行調回
CSSgram用CSS3的Filter實現Instagram濾鏡的庫
圖標類
Icon Font匯總
SVG做的圖標
svgicons
iconic
HYBICON帶交互效果。如 hover, click
HTML字元實體圖標
http://www.amp-what.com/
transformicons圖標點擊時,會有一些變換效果。如,加號變成叉號
css3patternscss3 做的可平鋪紋理。瀏覽器兼容性不好。
瀏覽圖片
fancybox彈出查看圖片,視屏等等demo
yoxview彈出查看圖片,圖片尺寸縮放很自然
圖片牆
wookmark
UI 框架
WeUI由微信官方設計團隊為微信 Web 開發量身設計。
Framework7
UI 組件類
拖拽
dragula支持Draggable,Dropable和Sortable。感覺比jqueryUI的輕量級,好用的樣子
angular-draguladragular 官方的 angular 版本
數據可視化(圖表)
Echarts網路出品
highcharts功能強大。是收費的。
Plottable.JS基於D3的一個圖表庫
flot文檔不給力
chartJs中文文檔demo很漂亮,很清晰。比較輕量級。
ichartJs中國的一個傢伙搞的,感覺還不錯。
時間選取組件
foundation-datepicker
DatePicker一個簡單的日歷詳細
full calendar支持脫放的方式來改變待辦事宜的時間
Simple Events Calendar外觀很喜歡。收費 5$
jQuery ui datepicker經典,不是很好看
pickadate輕量級,手機友好的,漂亮。但貌似只能在彈出層中顯示,而沒有下拉這種方式顯示。
zebra-datepicker可配置性很強。但貌似只能在彈出在右上方。。。
bootstrap-datepickerbootstrap風格。
dateRangePicker選取時間段。bootstrap風格。該組件依賴Twitter Bootstrap, Moment.js和jQuery.
自定義滾動條
perfect scrollbar輕量級的滾動條。外觀與mac上chrome的滾動條一樣。
iscroll在移動設備上用不錯
載入(Loding)效果
CSS SpinnersCSS做的
Loaders.cssCSS做的
表格組件
jsGridData Grid。詳細
backgrid基於Backbone.js的DataGrid
excellentexport把表格的內容生成excel。兼容 Firefox, Chrome, IE6+
datatables表格可交互(對內容進行排序,刪除等)
handsontable生成Excel外觀的數據
JSpreadsheets表格數據的組件庫
選取顏色
Spectrum
分享到SNS
JiaThis生成分享代碼。
編輯器
ace代碼編輯器,可以用來做demo演示
ckeditor
ueditor網路做的
tinymce對html內容進行實時的編輯
summernote在移動設備上用不錯
通知組件
notie.js
HTML5播放器
jwplayer被大量網站使用
html5media簡單的h5player,輕量級
jplayer功能強太,可換膚
展示
Impress.js各種旋轉,和奇特的體驗
fullPage全屏顯示。用滾輪來翻頁詳細
zepto.fullpage專注於移動端的fullPage.js,依賴Zepto
pagePiling和fullPage類似
turn.js做一本書,帶漂亮的翻頁的效果
幻燈
slidesjs挺好用的,只是那幻燈導航的CSS都要自己寫,呵呵詳細
iSlider無任何插件依賴的手機平台javascript滑動組件詳細
bgstretcher全屏幻燈,會隨著頁面大小的變化而變化。
Swiper開源、免費、強大的移動端觸摸滑動插件Swiper中文網
coin-slider兼容IE6。蠻好的~。不過其切換方式是一塊塊的。不能配置切換方式。。。
wowslider幻燈切換時各種很炫的效果。收費。
cycle2普通的幻燈,竟然不支持垂直滾動。。。
jcarousel普通的幻燈,不兼容IE6
reveal3d滾動。做ppt相當不錯
nodePPT國人做的,做ppt也相當不錯。有些方面比 reveal做的還好。但生成導出的html有些問題
roundabout3d切換,看的後面圖片的邊
彈出框
Magnific-Popup兼容PC,Mobile。還不錯,有5k+的star
layer國人開發的,兼容ie6+。不喜歡其調用方式。
動畫效果
mixitup用漂亮的動畫效果來完成排序和篩選
jQuery.Marquee跑馬燈效果
quickflip卡片翻轉效果
卡片翻轉效果2兼容性可以。寫的比較簡單:1,只支持x方向翻轉 2,類名都是規定好的 3,只能被調用一次。 需要改寫一下。我的改進版見這里
TheaterJS模擬兩個人在屏幕上對話
midnight.js文字顏色隨著背景變,屌炸了
color-animationjquery的顏色漸變動畫插件。jquery的動畫不支持顏色值的變化。改庫提供了這個支持。
transit對元素進行css的變換
tagcanvas3D標簽雲效果詳細
iconate圖片切換動畫
Snap.js左/右側導航的出現效果
CSS shake抖動動畫
ClickSpark.js點擊後的一些酷炫的效果
視覺差插件
scrollorama比較簡單
superscrollorama能做的效果更多,但要用第三方Tween的庫,使用起來比較復雜。
scrolldeck
flash
swfobj能夠自動檢測PC、Mac機器上各種主流瀏覽器對Flash插件的支持情況。它使得插入Flash媒體資源盡量簡捷、安全。而且它是非常符合搜索引擎優化的原則的。此外,它能夠避免您的HTML、XHTML中出現object、embed等非標准標簽,從而符合更加標准。詳細
抽獎
wScratchPad刮刮卡刮獎效果
jqueryrotate旋轉插件。可以用來做轉盤抽獎效果
Intro.js用來介紹網站的功能很不錯。也可以做新手引導。
blockUILolding組件。
simple-hint提示信息。用css做的。兼容性IE 9+。
dotdotdot文字溢出時,添加在文字末尾加省略號
jQuery-menu-aim二級菜單的切換如Amazon主頁上一樣迅速
AnythingZoomer放大鏡功能
美化/高亮語法代碼
google-code-prettify
DlHighlight僅支持JavaScript、CSS、XML、HTML 這4語法高亮
please按要求隨機舒服的顏色
Awesomplete輸入的智能提示,自動補全
proTip提示。感覺比 Bootstrap 的 tip 好
Hammerjs手勢庫。封裝了 Swipe, Tap, Pinch, Pan等手勢
用戶體驗增強類
動畫
velocity提高Jquery動畫的性能。以及顏色動畫之類的新特性。
Snap.svg操作 SVG 的 JS 庫。號稱 SVG 的 jQuery。demo
walkway以動畫的方式,漸漸地畫出 SVG 的路徑。
SVG
測試
Mocha
Chai
Should
Snoion
DeviceMock.jsmock 設備。
其他類
ZeroClipboard將內容復制到剪切板兼容主流瀏覽器的解決方案詳細
html2canvashtml轉化成canvas,可以用來做截圖。詳細
Ink響應式html郵件框架
性能測試
抓取,解析RSS內容(不能跨域,所以後台要做代理,所謂的解析Rss其實就是解析xml)
jFeed
jRss簡單版的jFeed
scriptcam與攝像頭交互
cylon.js機器人框架,支持35個平台
Masonry一個瀑布流框架
devices.css移動設備邊框的外觀。做原型的時候用不錯。
Bootbox.js對bootstrap的彈出框做的一些封裝
免費皮膚
AdminLTE
Bootstrap相關類
JS Plugins倉庫
jQuery Cards高質量的 jQuery 插件網站
jster
node moles
npmrankSort npm packages by page rank
YOU MIGHT NOT NEED JQUERY PLUGINS不依賴 jQuery 的 js 插件。
awesome-nodejs
Libraries.io各種語言的庫
OniUI去哪兒網做的一套基於Avalon的框架
常用的移動端框架
zepto.js
語法與jquery幾乎一樣,會jquery基本會zepto~
最新版本已經更新到1.16
iscroll.js
解決頁面不支持彈性滾動,不支持fixed引起的問題~
實現下拉刷新,滑屏,縮放等功能~
最新版本已經更新到5.0
underscore.js
筆者沒用過,不過聽說好用,推薦給大家~
該庫提供了一整套函數式編程的實用功能,但是沒有擴展任何JavaScript內置對象。
最新版本已經更新到1.8.2
滑屏框架
適合上下滑屏、左右滑屏等滑屏切換頁面的效果
slip.js
iSlider.js
fullpage.js
swiper.js
flex布局
flex布局目前可使用在移動中,並非所有的語法都全兼容,效果良好~
3. 有哪些優秀的前端插件
編寫html代碼,一定要使用emmet(前身是zencoding),還有以下插件也是可以考慮的:
bracketHighter 高亮引號、括弧等
code Aligment 代碼對齊
DocBlockr 如果你寫js,這個就很有用了
emmet 書寫html必備
emmet css snippets 書寫css必備
Encoding Helper 當你遇到載入的文件亂碼時,這個插件就很有用了
jsFormat 格式化js代碼
theme soda 軟體主題,挺漂亮的
minifier 壓縮js/css
sidebarenhance 增強型邊欄
livereload 配合瀏覽器(firefox、chrome)上的livereload插件,就不用老是按F5了
4. 前端中一個控制項用了兩遍,想要改變期中之一的樣式怎麼改
大小可以在樣式裡面修改:
<html>
<body>
<input type="checkbox" value="你好" style="width:20px;height:20px;"/>
</body>
</html>
但是input如果要像div那樣樣式話還是有點難度的,但是可以通過自己「製作」一個這樣的控制項來解決,隱藏checkbox,使用一個div進行模擬,注冊div的click事件以及checkbox的change事件,保證兩者之間狀態的同步。
5. 前端日歷控制項datepicker怎麼用
官方有demo啊,看看就會了
6. 前端各種插件如何整合
ECharts,一個純 Javascript 的圖表庫,可以流暢的運行在 PC 和移動設備上,兼容當前絕大部分瀏覽器(IE8/9/10/11,Chrome,Firefox,Safari等),底層依賴輕量級的 Canvas 類庫 ZRender,提供直觀,生動,可交互,可高度個性化定製的數據可視化圖表。ECharts 3 中更是加入了更多豐富的交互功能以及更多的可視化效果,並且對移動端做了深度的優化。
ECharts 提供了常規的折線圖,柱狀圖,散點圖,餅圖,K線圖,用於統計的盒形圖,用於地理數據可視化的地圖,熱力圖,線圖,用於關系數據可視化的關系圖,treemap,多維數據可視化的平行坐標,還有用於 BI 的漏斗圖,儀表盤,並且支持圖與圖之間的混搭。
7. 運用前端控制項方式的支持java的報表工具問題在於
A. 用戶部署起來非常麻煩,每台機器都要安裝控制項。(為解決這個問題,有些廠商把原來控制項所做的報表計算工作移到伺服器上做,但只能在Windows下運行,因為它不是純Java的)
B. 控制項會對大報表產生性能問題,因為其報表生成與計算工作是在控制項中實現的。
C. 應用系統無法靈活地通過API對報表進行控制 - 因為是在控制項里。
D. 產品升級 - 將會是一大麻煩,客戶端都要重新下載新的控制項。
8. 前端組件和插件的區別
組件:組件這個詞通常是現在描述產品的時候出現,一個大的產品會有很多小的部分組成,而小的部分除了是一個大的組件的部分以外,自己可能還包含更小的組件,所以組件是遞歸的,那麼組件到底是什麼呢?最常見的組件就是我們已經寫好的程序代碼,任何一小段代碼都可以是一個組件,它可以和其它代碼段連接起來組成更大的一段程序代碼,一個更大的組件,然後可能是一個函數,或者一個類程序單元,或者數個類單元文件的集成,當不同的組件的組裝形成更大的組件時候,我們實際就是在做我們通常提到的一件事情:集成,軟體中有很多集成工作要做,每日集成,重要版本集成等等。
插件:根據對組件和模塊的分析,插件屬於組件,而且還是一個程序模塊,也是一個功能模塊。插件是一種電腦程序,通過和應用程序的互動,來替應用程式增加一些特定的功能。
插件必須依賴於應用程序才能發揮自身功能,僅靠插件是無法正常運行的。
9. 作為一個前端開發,vscode有哪些值得安裝的插件
WijmoJS 前端開發工具包由多款高效、靈活的純前端控制項組成,全面支持 Angular、React、Vue、TypeScript、Knockout 和 Ionic框架,用於快速搭建企業級桌面/移動 Web 應用程序。WijmoJS 可靈活應對客戶需求變化,縮短新項目研發周期,高效處理海量用戶數據,提升產品核心競爭力。
藉助葡萄城深厚的技術底蘊,WijmoJS 為各領域用戶提供更穩定、更高效的前端開發工具,幫助中國招商銀行、微軟、思科、特斯拉、富士通等知名企業快速搭建其 Web 應用程序。WijmoJS 憑借先進的觸控設計、全面的框架支持、頂級的控制項性能、零依賴的產品特性和易用、輕松的操作體驗,全面滿足前端開發所需,已成為構建企業 Web 應用程序最高效的純前端開發工具包。
與此同時,WijmoJS 的可視化設計器已正式推出,包含 VSCode 設計器和在線設計器。通過使用設計器,您可以在想要配置的控制項中選擇並瀏覽所有可用的內置選項,然後導出要在 WijmoJS 應用程序中使用的代碼,或者通過設計器自動更新 HTML 源文件。
10. 前端view組件支持動態生成嗎
addView方法簡介
在Android 中,可以利用排版View的 addView 函數,將動態產生的View 物件加入到排版View 中。
例子如下:
Activity代碼:
public class helloWorld extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView( R.layout.main );
// 取得LinearLayout 物件
LinearLayout ll = (LinearLayout)findViewById(R.id.viewObj);
// 將TextView 加入到LinearLayout 中
TextView tv = new TextView(this);
tv.setText(Hello World);
ll. addView ( tv );
// 將Button 1 加入到LinearLayout 中
Button b1 = new Button(this);
b1.setText(取消);
ll. addView ( b1 );
// 將Button 2 加入到LinearLayout 中
Button b2 = new Button(this);
b2.setText(確定);
ll. addView ( b2 );
// 從LinearLayout 中移除Button 1
ll. removeView ( b1 );
}
}
上述代碼的位置,是垂直順序排列的因為界面代碼Linerlayout的orientation設置的是vertical的,但是為了美觀,需要設置添加的View的位置和樣式。在添加View的時候分為兩類來介紹,一種是布局(例如:Linearlayout等),一種是控制項(例如:Button,TextView等等。)
2. 動態添加布局(包括樣式和位置)
下面的例子將介紹如何動態添加布局,基本內容和上面的代碼一致,主要注重如何控制添加的布局的位置。在控制布局的位置的時候使用LayoutParam類來實現。
例子:
界面代碼和上面的界面代碼類似,就不在重復介紹。
Activity類部分代碼:
RelativeLayout rl = new RelativeLayout(this);
//設置RelativeLayout布局的寬高
RelativeLayout.LayoutParams relLayoutParams=new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
this.addView(rl, relLayoutParams);
3. 動態添加控制項
動態添加控制項和添加布局很相似,下述代碼主要注重看控制控制項的位置,下面的代碼和第二項添加布局的補充,在新添加的布局裡面再添加控制項。
界面代碼同樣不在重復。
Activity類部分代碼:
RelativeLayout rl = new RelativeLayout(this);
//設置RelativeLayout布局的寬高
RelativeLayout.LayoutParams relLayoutParams=new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
TextView temp = new TextView(this);
temp .setId(1);
temp.setText(「圖片」);
rl.addView(temp);
TextView tv = new TextView(this);
tv.setText(「文字」);
tv.setId(2);
LayoutParams param1 = new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
param1.addRule(RelativeLayout.BELOW, 1);//此控制項在id為1的控制項的下邊
rl.addView(tv,param1);
Button update = new Button(this);
update.setText(Button);
LayoutParams param2 = new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
param2.addRule(RelativeLayout.RIGHT_OF, 1);//此控制項在id為1的控制項的右邊
rl.addView(update,param2);
this.addView(rl, relLayoutParams);
注意:控制位置和樣式的時候,布局和控制項使用的方法是一樣的。
我在這里看了一篇別人博客對於LayoutParams 的解釋,我覺的很到位,所以就繼續拿來主義。
其實這個LayoutParams類是用於child view(子視圖) 向 parent view(父視圖)傳達自己的意願的一個東西(孩子想變成什麼樣向其父親說明)其實子視圖父視圖可以簡單理解成
一個LinearLayout 和 這個LinearLayout里邊一個 TextView 的關系 TextView 就算LinearLayout的子視圖 child view 。需要注意的是LayoutParams只是ViewGroup的一個內部類這里邊這個也就是ViewGroup里邊這個LayoutParams類是 base class 基類實際上每個不同的ViewGroup都有自己的LayoutParams子類
比如LinearLayout 也有自己的 LayoutParams 大家打開源碼看幾眼就知道了
myeclipse 怎麼查看源碼 請看http://byandby.iteye.com/blog/814277
下邊來個例子
Java代碼 :
//創建一個線性布局
private LinearLayout mLayout;
mLayout = (LinearLayout) findViewById(R.id.layout);
//現在我要往mLayout里邊添加一個TextView
//你可能會想直接在布局文件里邊配置不就O 了 那是 但是這里為了說明問題我們用代碼實現
TextView textView = new TextView(Activity01.this);
textView.setText("Text View " );
//這里請不要困惑這里是設置 這個textView的布局 FILL_PARENT WRAP_CONTENT 和在xml文件里邊設置是一樣的如
//在xml里邊怎麼配置高寬大家都會的。
//第一個參數為寬的設置,第二個參數為高的設置。
LinearLayout.LayoutParams p = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.FILL_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT
);
//調用addView()方法增加一個TextView到線性布局中
mLayout.addView(textView, p);
//比較簡單的一個例子
如果還不能理解下邊在來一段直白的說明:
LayoutParams繼承於Android.View.ViewGroup.LayoutParams.
LayoutParams相當於一個Layout的信息包,它封裝了Layout的位置、高、寬等信息。假設在屏幕上一塊區域是由一個Layout佔領的,如果將一個View添加到一個Layout中,最好告訴Layout用戶期望的布局方式,也就是將一個認可的layoutParams傳遞進去。
可以這樣去形容LayoutParams,在象棋的棋盤上,每個棋子都占據一個位置,也就是每個棋子都有一個位置的信息,如這個棋子在4行4列,這里的「4行4列」就是棋子的LayoutParams。
但LayoutParams類也只是簡單的描述了寬高,寬和高都可以設置成三種值:
1,一個確定的值;
2,FILL_PARENT,即填滿(和父容器一樣大小);
3,WRAP_CONTENT,即包裹住組件就好。
關於setLayoutParams報錯
在繼承BaseAdapter的時候,用getView返回View的時候,用代碼控制布局,需要用到View.setLayoutParams,但是報錯了,報的是類型轉換錯誤,經過研究,發現,這里不能使用ViewGroup.LayoutParams而必須使用對應父View的LayoutParams類型。如:某View被LinearLayout包含,則該View的setLayoutParams參數類型必須是LinearLayout.LayoutParams。原因在於LinearLayout(或其他繼承自ViewGroup的layout,如:RelativeLayout)在進行遞歸布局的時候,LinearLayout會獲取子View的LayoutParams,並強制轉換成LinearLayout.LayoutParams,如
1LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) child.getLayoutParams();
或者是如下定義:
1LayoutParams lp = (LayoutParams) child.getLayoutParams();
以轉換成內部類型LinearLayout.LayoutParams。