在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ HTML/ 列表操作
書單
JavaScript 動畫
HTML
CSS Reset
屬性操作
DOM 事件
閉包
Photoshop
Atom 文本編輯器
表單操作
布局解決方案
類型系統(tǒng)
開發(fā)實踐
數(shù)據(jù)通信
變量作用域
BOM
JavaScript 程序設(shè)計
前端工程師概述
CSS
響應(yīng)式布局
表達(dá)式與運(yùn)算符
基本語法
JavaScript 介紹
版本控制
布局
調(diào)試器
背景
圖片保存
多媒體
文檔樹
列表操作
Sublime 編輯器
盒模型
常見布局樣例
類型識別
變形
數(shù)據(jù)存儲
選擇器
頁面架構(gòu)
開發(fā)及調(diào)試工具
頁面模塊化
節(jié)點操作
測量及取色
瀏覽器兼容
HTML 簡介
內(nèi)置對象
實體字符
產(chǎn)品前端架構(gòu)
協(xié)作流程
切圖
工具, 面板, 視圖
正則表達(dá)式
動畫
語句
面向?qū)ο?/span>
HTML 語法
HTML 標(biāo)簽
技術(shù)選擇
樣式操作
圖片優(yōu)化與合并
語法
DOM 編程藝術(shù)
Canvas
接口設(shè)計
頁面優(yōu)化
文本

列表操作

列表操作

http://wiki.jikexueyuan.com/project/fend_note/images/L/list_format.png" alt="" />

列表的常用形式有圖片形式與信息形式的,常見的有如下的操作:

  • 顯示列表
  • 選擇列表項
  • 新增列表項
  • 刪除列表項
  • 更新列表項

范例代碼

數(shù)據(jù)結(jié)構(gòu)

http://wiki.jikexueyuan.com/project/fend_note/images/L/list_data_structure.png" alt="" />

[
  {
    "id": 22341234,
    "name": "Good Song",
    "album": {
      "id": 213512,
      "name": "Good Album"
    },
    "artist":{
      "id": 1234512,
      "name": "Evil Artist"
    }
  }
]

顯示列表

列表容器

http://wiki.jikexueyuan.com/project/fend_note/images/L/list_container.png" alt="" />

列表模板 分離數(shù)據(jù)和視圖

http://wiki.jikexueyuan.com/project/fend_note/images/L/list_template.png" alt="" />

繪制列表

準(zhǔn)備數(shù)據(jù)并整合模板與數(shù)據(jù)

http://wiki.jikexueyuan.com/project/fend_note/images/L/list_render.png" alt="" />

通過 AJAX 獲取數(shù)據(jù)

http://wiki.jikexueyuan.com/project/fend_note/images/L/list_ajax_get_data.png" alt="" />

列表單選操作

http://wiki.jikexueyuan.com/project/fend_note/images/L/list_single_selection.png" alt="" />

列表多選操作(Control 與 Shift 操作)

parent.addEventListener(
  'mouseup', function(event) {
    var target = getTarget(event),
        selected = isSelected(target);
    // right click
    if (event.button == 2&&selected) {
      return;
    }
    // with control click
    if (event.ctrlKey) {
      !selected?appendToSelection(target):removeFromSelection(target);
    }
    // with shift key
    if (event.shiftKey) {
      var list = Array.prototype.slice.call(
        parent.getElementsByTagName('li'), 0
      );
      if (!last) {
        last = getLastElection() || target;
      }
      selectWithRangeFromTo(list, last, target);
    } else {
      last = null;
    }
  }
);

右鍵菜單

contextmenu 事件為右鍵菜單彈出事件。

http://wiki.jikexueyuan.com/project/fend_note/images/L/list_right_click.png" alt="" />

http://wiki.jikexueyuan.com/project/fend_note/images/L/list_right_click_details.png" alt="" />

增加列表

http://wiki.jikexueyuan.com/project/fend_note/images/L/list_add_item.png" alt="" />

http://wiki.jikexueyuan.com/project/fend_note/images/L/list_add_item_using_template.png" alt="" />

刪除列表

http://wiki.jikexueyuan.com/project/fend_note/images/L/list_item_remove.png" alt="" />

更新列表

http://wiki.jikexueyuan.com/project/fend_note/images/L/list_update.png" alt="" />

更新狀態(tài)

http://wiki.jikexueyuan.com/project/fend_note/images/L/list_update_state.png" alt="" />

編程方式

面向視圖 的操作方式,即為針對視圖的直接編程(對 DOM 樹進(jìn)行直接的操作)。

http://wiki.jikexueyuan.com/project/fend_note/images/L/list_view_oriented.png" alt="" />

http://wiki.jikexueyuan.com/project/fend_note/images/L/list_view_oriented_1.png" alt="" />

這樣的方式代理了許多的弊端,例如無法進(jìn)行完全的自動化測試以及極高的視圖層和控制層耦合的緊密性。

面向數(shù)據(jù) 的操作方式,視圖則被抽象為若干的數(shù)據(jù)以及狀態(tài)(后續(xù)所有的操作都會更加數(shù)據(jù)模型而操作),從而做到視圖模型層完全自動化的測試。

http://wiki.jikexueyuan.com/project/fend_note/images/L/list_viewmodel_1.png" alt="" />

http://wiki.jikexueyuan.com/project/fend_note/images/L/list_viewmodel_2.png" alt="" />

http://wiki.jikexueyuan.com/project/fend_note/images/L/list_viewmodel_3.png" alt="" />

http://wiki.jikexueyuan.com/project/fend_note/images/L/list_viewmodel_4.png" alt="" />

http://wiki.jikexueyuan.com/project/fend_note/images/L/list_viewmodel_5.png" alt="" />

上一篇:閉包下一篇:Photoshop