StdJS 0.2.1リリース、汎用javascriptライブラリ
7201 ワード
StdJS 0.2.1は、バージョン0.2に存在するいくつかの既知のバグを修正するとともに、いくつかの新しい方法を追加し、一部の機能を更新した.
1.Std.cssモジュールは、指定したcss名に対するブラウザのサポート状況をテストする静的メソッドsupportを追加し、ブラウザが指定した名前のcss属性をサポートしている場合、trueを返し、そうでない場合falseを返します.
2.Std.timerモジュールには、指定関数を実行するための静的メソッドtestが追加する、関数の実行回数を指定し、実行が完了すると、この関数の実行にかかる時間を返すことができる.
3.Std.domモジュールは、オブジェクトがdocumentオブジェクトであるか否かを判断するBoolean値を返す静的方法isDocumentを追加する.
4.Std.domモジュールは、指定する要素の文書ルート要素を取得するための静的メソッドdocumentElementを追加し、渡されたパラメータがDOM要素ではなくdocumentである場合、documentを返す.documentElement、windowの場合はwindowを返します.document.documentElement
1.Std.domのメンバーメソッドinsertを更新し、2番目のパラメータまたは2番目のパラメータが空でない場合、デフォルトで末尾に挿入する.
2.Std.domのメンバーメソッドを更新addClass,removeClass,toggleClass,classNameがdocumentとwindowで操作している間にdocumentElementに直接移行
1.Std.domメンバーメソッドaddClassがクラス名を追加するときにスペースを追加できるバグを修正しました2.Std.domを修復しました.unitedモジュールはcssセレクタによって要素を取得する際にchromeの下で重複するバグ3を取得する可能性がある.Std.domのメンバーメソッドinsertが最後のインデックス位置に挿入された不正なバグ4を修正しました.Std.domのメンバーメソッドを修正しましたhasFocusはdocumentが焦点を失った後に結果の不正確なバグ5を取得しました.Std.uiのlayoutモジュールinsertメソッド挿入エラーのバグ6を修正しました.Std.uiを修復するlockerモジュールにスクロールバーがある場合はページ全体のバグ7を隠すことができない.Std.domのメンバーメソッドmouseを修正しました.documentとwindowオブジェクトでエラーが発生し、unselectオプションが機能しないバグ
StdJSドキュメントアドレス:
http://doc.stdjs.com/action_documentation.location_documentation&ID=8
StdJSサイト:http://www.stdjs.com
機能の追加:
1.Std.cssモジュールは、指定したcss名に対するブラウザのサポート状況をテストする静的メソッドsupportを追加し、ブラウザが指定した名前のcss属性をサポートしている場合、trueを返し、そうでない場合falseを返します.
//true
Std.css.support("fontSize");
Std.css.support("font-size");
//false
Std.css.support("boxWidth");
//true
Std.css.support("animation",true);
2.Std.timerモジュールには、指定関数を実行するための静的メソッドtestが追加する、関数の実行回数を指定し、実行が完了すると、この関数の実行にかかる時間を返すことができる.
//
Std.timer.test(function(){
for(var i=0;i<100000000;i++){
}
});
3.Std.domモジュールは、オブジェクトがdocumentオブジェクトであるか否かを判断するBoolean値を返す静的方法isDocumentを追加する.
4.Std.domモジュールは、指定する要素の文書ルート要素を取得するための静的メソッドdocumentElementを追加し、渡されたパラメータがDOM要素ではなくdocumentである場合、documentを返す.documentElement、windowの場合はwindowを返します.document.documentElement
機能の更新:
1.Std.domのメンバーメソッドinsertを更新し、2番目のパラメータまたは2番目のパラメータが空でない場合、デフォルトで末尾に挿入する.
2.Std.domのメンバーメソッドを更新addClass,removeClass,toggleClass,classNameがdocumentとwindowで操作している間にdocumentElementに直接移行
バグ修正:
1.Std.domメンバーメソッドaddClassがクラス名を追加するときにスペースを追加できるバグを修正しました2.Std.domを修復しました.unitedモジュールはcssセレクタによって要素を取得する際にchromeの下で重複するバグ3を取得する可能性がある.Std.domのメンバーメソッドinsertが最後のインデックス位置に挿入された不正なバグ4を修正しました.Std.domのメンバーメソッドを修正しましたhasFocusはdocumentが焦点を失った後に結果の不正確なバグ5を取得しました.Std.uiのlayoutモジュールinsertメソッド挿入エラーのバグ6を修正しました.Std.uiを修復するlockerモジュールにスクロールバーがある場合はページ全体のバグ7を隠すことができない.Std.domのメンバーメソッドmouseを修正しました.documentとwindowオブジェクトでエラーが発生し、unselectオプションが機能しないバグ
StdJSドキュメントアドレス:
http://doc.stdjs.com/action_documentation.location_documentation&ID=8
いくつかのStdJSコードの例
/*
* div 10 HTML abc span , body.
*/
var abc = new Std.dom("div>span{abc}*10","body")
<!--
css selector html , html
-->
<script type="text/std-css-selector" render-here="true">
(.header > .title + .navigation) +
(.body > .content > span{body content}) +
(.footer > .links > (a[href='#']{link1} + a[href='#']{link2}))
</script>
<!--
css selector UI , JS 80%
-->
<script type="text/std-ui" std-name="test">
GridLayout[rows=3][columns=2] > (
(Label{ :} + LineEdit#name) +
(Label{ :} + DateTimeEdit#dateTime) +
(Label{ :} + TextEdit#text)
)
</script>
/*
* , Std.main
* Std.require
*/
//3
Std.require("1.js","1.css","123.png");
//3 ,
Std.require(["1.js","1.css","123.png"]);
/*
* , ,
* , .
*/
Std.source("StdJS","http://source.stdjs.com");
// ui.Window
Std.use("ui.Window",function(){
//...
});
// , , "ui.Button","ui.ToolBar"
var func1 = Std.func(function(){
//....
},{
packages:["ui.Button","ui.ToolBar"]
});
/*
* css .
* ,
* style link css
*/
Std.css({
body:{
color:"red",
transform:"skewY(-6deg)"
},
span:{
color:"black"
},
"#content":{
'>':{
p:{
lineHeight:"20px"
}
}
}
});
<!--
html Std.animation.keyframes CSS3 ..
StdJS , ,
-->
<script type="text/std-animation">
@keyframes testKeyframe{
0%{
width:50px;
height:100px;
background:red;
}
50%{
width:90px;
height:120px;
background:blue;
color:red;
animation-timing-function:ease;
}
100%{
height:150px;
width:300px;
background:green;
color:blue;
}
}
</script>
<!--
, , JS
-->
<script type="text/std-template" std-name="tpl1">
<?@include 'header.tpl'?>
<div class="title"><?=title?></div>
<?#each abc as index,value?>
<div class="item">
<div class="_index"><?=index?></div>
<div class="_value"><?=value?></div>
</div>
<?/each?>
</script>
<script>
Std.main(function(){
Std.template("tpl1").renderTo("body",{
abc:["first","second","last"],
title:"title text"
});
})
</script>
/*
* ,A B, B A
* B A , ,option ,
* ,
*/
var A = Std.module({
model:"events",
option:{
width:32,
height:32,
name:"test"
},
static:{
func1:function(){
console.log("static func1");
},
func2:function(){
console.log("static func2");
}
},
public:{
func1:function(){
console.log("func1_A");
},
func2:function(){
console.log(this.opts.name);
}
},
main:function(option){
this.init_opts(option);
console.log("main_a");
}
});
// B, A, func1
var B = Std.module({
parent:A,
option:{
name:"testB"
},
extend:{
func1:function(){
console.log("func1_B")
}
},
main:function(){
console.log("main_b");
}
})
// A
var a = new A({width:44});
// B
var b = new B({width:56});
StdJSサイト:http://www.stdjs.com