第一組:姚成棟 AngularJs分頁
要正確并完整地顯示分頁信息,一定要注意以下幾個點(diǎn):
1. HTML頁面上不能寫錯微饥,模板如下
其中容易缺的是:max-size="10"最大顯示頁數(shù)(當(dāng)頁數(shù)很多時特別實(shí)用)逗扒;
2. 對應(yīng)的controller中
因?yàn)樵贘s/models.js中有定義
也可以自己對其進(jìn)行定義。
3. 如果頁面上有兩個以上的小模塊欠橘,類似于
則pageChanged方法要改成如下:
4. 還有一個類似于分頁的矩肩,就是序號
要注意的點(diǎn)主要是,需要應(yīng)寫成如下肃续,
不能寫成{{$index+1}}黍檩,會出現(xiàn)轉(zhuǎn)到第二頁后序號仍從1開始的情況
5. 總結(jié)
這個分頁的注意事項(xiàng)主要是針對我們當(dāng)前使用的新模板而言的,而且是針對分頁出現(xiàn)的一些小問題始锚。如果出現(xiàn)分頁數(shù)據(jù)無法出現(xiàn)刽酱,或者刷新之后分頁出現(xiàn)不同的情況,可以先看看controller中是否有多個$scope.page = data.Page字段瞧捌,如果不是這個問題棵里,那應(yīng)該就需要調(diào)試后臺傳過來的分頁數(shù)據(jù)了。
第二組:徐晉 jquery對象和DOM對象的相互轉(zhuǎn)換姐呐、 刪除節(jié)點(diǎn):remove和detach的區(qū)別殿怜、 AppCan UI基礎(chǔ)框架
1. jquery對象和DOM對象的相互轉(zhuǎn)換
-
jquery --> DOM
var
("#cr"); //jquery對象
var cr = $cr[0]; //DOM對象var
("#cr"); //jquery對象
var cr = $cr.get(0); //DOM對象
-
DOM --> jquery
- var cr = document.getElementById("cr"); //DOM對象
var(cr); //jquery對象
- var cr = document.getElementById("cr"); //DOM對象
2. 刪除節(jié)點(diǎn):remove和detach的區(qū)別
- .remove()方法
當(dāng)某個節(jié)點(diǎn)用remove()方法刪除后,該節(jié)點(diǎn)所包含的所有后代節(jié)點(diǎn)將同時被刪除曙砂。這個方法的返回值是一個指向已被刪除的節(jié)點(diǎn)的引用头谜,因此可以在以后再使用這些元素。
var $li = $("ul li:eq(1)").remove();
$li.appendTo("ul");
- .detach()方法
detach()和remove()一樣鸠澈,也是從DOM中去掉所有匹配的元素柱告。但需要注意的是截驮,這個方法不會把匹配的元素從jquery對象中刪除,因而可以在將來再使用這些匹配的元素末荐。與remove()不同的是侧纯,所有綁定的事件、附加的數(shù)據(jù)等都會保留下來甲脏。
$("ul li").click(function(){
alert($(this).html);
})
var $li = $("ul li:eq(1)").detach();
$li.appendTo("ul");
使用detach()后appendTo眶熬,該元素所綁定的click事件仍然存在;
若使用remove()后appendTo块请,click事件將不復(fù)存在娜氏。
總結(jié)來說:remove()與detach()的方法區(qū)別在于元素綁定的事件與附加數(shù)據(jù)是否被失效!
3. AppCan UI基礎(chǔ)框架
在AppCan UI架構(gòu)中進(jìn)行了CSS類封裝
ub 元素采用彈性BOX布局
ub-rev 子元素反序排列
ub-con 在子元素中加入一個容器墩新,用于避免內(nèi)容引起子元素大小變化
對應(yīng)CSS代碼為position:absolute;width:100%;height:100%;
ub-ac贸弥、ub-ae 子元素垂直居中對齊和尾對齊
ub-pc、ub-pe海渊、ub-pj 子元素水平居中對齊绵疲、尾對齊和兩端對齊
ub-ver 子元素縱向排列
ub-f1、ub-f2臣疑、ub-f3盔憨、ub-f4子元素占用區(qū)域份數(shù)
UI的分辨率適配
UI 中,我們在中間件中為不同屏幕密度(單位尺寸中可顯示的點(diǎn)數(shù))讯沈,默認(rèn)定義好了字體郁岩,開發(fā)者不再需要在代碼中引入ui-media.css文件,即使有新的 分辨率手機(jī)問世缺狠,也會自動適配问慎。目前參照Andorid屏幕密度劃分為低密度、普通密度挤茄、高密度如叼、超高密度、超超高密度驮樊,分別定義字體為14px 16px 24px 32px 48px薇正。
第三組: liger中利用 js關(guān)閉alertpage 和 Ajax 簡單操作步驟
1. liger中利用 js關(guān)閉alertpage
在調(diào)用完Ajax之后想要關(guān)閉當(dāng)前頁面回到父頁面,如果用parent.CloseAlertPage()
;
是不起作用的囚衔,可以利用以下方法:
parent.$.ligerDialog.close();
parent.$(".l-dialog,.l-window-mask").remove();
2. Ajax 簡單操作步驟
AJAX 不是新的編程語言挖腰,而是一種使用現(xiàn)有標(biāo)準(zhǔn)的新方法。
AJAX 最大的優(yōu)點(diǎn)是在不重新加載整個頁面的情況下练湿,可以與服務(wù)器交換數(shù)據(jù)并更新部分網(wǎng)頁內(nèi)容猴仑。
AJAX 不需要任何瀏覽器插件,但需要用戶允許JavaScript在瀏覽器上執(zhí)行。
以下是根據(jù)我實(shí)際操作過程中的個人理解辽俗,具體解釋在代碼的注釋中供參考:
.aspx
$.ajax({
type: "post",
url: "/Action/PmAsCheckHandler.ashx",
data: {
method: "getplantid",
//Ajax引用的方法
insplantid: planTid //調(diào)ajax時需要傳入的參數(shù)
},
dataType: 'text',
async: false,
//同步異步操作疾渣,false表示異步,即在頁面加載完之后再執(zhí)行ajax;
若是true崖飘,表示同步榴捡,即在頁面加載時運(yùn)行ajax;
由于ajax運(yùn)行速度較快,往往在頁面加載之前便完成運(yùn)行朱浴,
所以在我們現(xiàn)在的實(shí)際運(yùn)用過程中吊圾,多設(shè)置成false。
success: function(data) {
plancheckType = data; //data是用于接收執(zhí)行完的Ajax返回值
}
});
.ashx.cs
public void ProcessRequest(HttpContext context) {
context.Response.ContentType = "text/plain";
string method = !string.IsNullOrEmpty(context.Request["method"]) ? context.Request["method"].ToLower() : "";
string result = "";
switch (method) { //method表示從前臺傳進(jìn)來的方法翰蠢,上面的代碼只需復(fù)制即可
case "getplantid":
result = GetPlanType(context);//方法返回值
break;
}
context.Response.Write(result);
}
//下面的實(shí)際方法與我們在后臺寫的方法類似项乒;需要注意的是loginUser不能直接用,需要用DB.Config.systemAdmin代替
/// <summary>
/// 通過plantid查問題類型
/// </summary>
/// <param name="context"></param>
/// <returns></returns>
public string GetPlanType(HttpContext context) {
string plantid = context.Request["insplantid"];
Model.PmAsFormulatePlan dbpafplan = DB.PmAsFormulatePlan.SelectById(DB.Config.systemAdmin, plantid.ToLong());
string planType = Model.EnumHelper.GetEnumDescription(dbpafplan.PmAsFormulateCheckType);
return planType;
}
第四組:張元一 興趣分享
《驚魂記》(Psycho)中正對噴水蓮蓬頭的鏡頭是怎么拍出來的梁沧?
比較正式的記載檀何,如Alfred Hitchcock and the Making of Psycho這本書中,給出的答案指解決方案是由希區(qū)柯克本人設(shè)想的廷支,把噴頭的中間孔堵住频鉴,然后將攝影機(jī)放在比較遠(yuǎn)的地方用長焦鏡頭拍攝,再把景別取緊一點(diǎn)恋拍,就讓觀眾有一種水柱直沖鏡頭而去的感覺了砚殿。
另外有一種流言,例如IMDb的trivia等處芝囤,說劇組設(shè)計了一個直徑6英尺(約合180cm)的巨型噴頭(把道具放大,希區(qū)柯克不是沒干過類似的事)辛萍,然后把攝影機(jī)放底下拍來悯姊。但這種說法找不到有力的支持,有的工作人員表示不知道此事贩毕。虛假的可能性比較大悯许。
原文抄錄如下:
希區(qū)柯克還讓拉塞爾想辦法,設(shè)計一個主觀視角鏡頭辉阶,以提高觀眾的代入感先壕。這鏡頭要拍的就是,花灑噴出的水谆甜,直接沖著鏡頭而來垃僚。“那是個老式花灑规辱,無法隨意控制噴水方向谆棺。”場記施羅姆注意到罕袋,“所以大家都很疑惑改淑,‘如果直接對著它拍碍岔,那又如何保證鏡頭不會被淋濕?’希區(qū)柯克先生解釋朵夏,‘用長焦鏡拍蔼啦,再把花灑上面靠里的幾個洞堵上,水就不會亂噴了仰猖∧笾’用長焦鏡,我們可以退得更靠后一些亮元,水看似要打在鏡頭上猛计,其實(shí)卻只是從兩側(cè)噴過去了。站在邊上的人倒是確實(shí)都被淋到了爆捞,但也拍到了我們需要的畫面奉瘤。”
第五組: 周倩宇 實(shí)現(xiàn)全選執(zhí)行批量操作
在做頁面功能時煮甥,經(jīng)常會遇到需要批量執(zhí)行的操作盗温,例如:批量刪除,批量發(fā)布成肘,批量提交等卖局。當(dāng)數(shù)量少的時候可以像圖中一個個勾選。
但是當(dāng)數(shù)據(jù)量很大的時候双霍,勾選單選框很費(fèi)時間砚偶,這時就需要勾選全選框。然而全選框?qū)?yīng)的那行是沒有數(shù)據(jù)的洒闸,我們需要一些方法在勾選全選框的同時染坯,排除掉全選框那一行。
也就是說丘逸,在勾選全選框執(zhí)行批量操作時单鹿,在對應(yīng)的執(zhí)行方法中排除圖中紅框那一行,從序號1那一行開始獲取數(shù)據(jù)深纲。
代碼舉例:
先在此處給全選框所對應(yīng)的那一行加個ID
<table class="tablelist" style="width: 3000px" id="tbodyID">
然后在方法中進(jìn)行處理
<script>
function changeApply() {
var items = document.getElementsByName("cb");
var rows = document.getElementById("tbodyID").rows;
var count = 0;
var tid = "";
for (var i = 0; i < items.length; i++) {
//當(dāng)前checkbox實(shí)現(xiàn)勾選
if (items[i].checked) {
var row = items[i].parentElement.parentElement.rowIndex;
var status = rows[row].cells[3].innerHTML;
if (status != "已發(fā)布" && row != 0) {
alert("請選擇已發(fā)布狀態(tài)的數(shù)據(jù)!");
return false;
}
count += 1;
tid += items[i].value + ','
}
}
if (count == 0) {}
else if (count != 0) {
var r = confirm("確認(rèn)xx仲锄?")
if (r == true) {
openTab();
}
}
}
</script>