【1】

HTML 插入第三方。

【2】

【3】

JavaScript 回调函数 & 模块化 --> 用变量封装数据、方法 --> 类比 Java 中的 package

var fetchLive = function(callback) {
$.ajax({
url: "live/list.do",
method: 'GET',
success: function (data) {
callback(data);
}
});
}; var liveDisplay = {
homepage: function(data) {
console.log(data);
var liveName = $('.telecast-title');
var liveStatus = $('.live-status');
var liveTime = $('.telecast-time');
var liveHref = $('.live-href');
const DISPLAY_NUM = (data.length < 4 ? data.length : 4);
for (var i = 0; i != DISPLAY_NUM; ++i) {
$(liveName[i]).text(data[i].name);
$(liveStatus[i]).text(data[i].status);
$(liveTime[i]).text(data[i].lastTime);
liveHref[i].href = data[i].link;
}
}
}; $(function () {
fetchLive(liveDisplay.homepage);
});

示例 02:

/**
* 分类展示课程
*/ const BASE_URL = "course/listbyid.do?categoryID="; var fetchCourseById = function(id, callback) {
$.ajax({
url: BASE_URL + id,
method: 'GET',
success: function (data) {
callback(data);
}
});
}; var displayCourse = {
frameA: function(courses) { // 首页页面展示1
var courseName = $('.recommended-course-name');
var courseNum = $('.recommended-course-number');
var coursePic = $('.recommended-course-picture'); const DISPLAY_NUM = (courses.length < 6 ? courses.length : 6);
for (var i = 0; i != DISPLAY_NUM; ++i) {
$(courseName[i]).text(courses[i].title);
$(courseNum[i]).text(courses[i].lessonNum);
coursePic[i].src = courses[i].picture;
}
}, frameB: function(courses) { // 首页页面展示2
var courseName = $('.free-course-name');
var courseNum = $('.free-course-lessionNum');
var coursePic = $('.free-course-logo');
var courseHref = $('.btn-study'); const DISPLAY_NUM = (courses.length < 8 ? courses.length : 8);
for (var i = 0; i != DISPLAY_NUM; ++i) {
$(courseName[i]).text(courses[i].title);
$(courseNum[i]).text(courses[i].lessonNum);
coursePic[i].src = courses[i].picture;
courseHref[i].href = 'toPcLivePlay.do?source=' + courses[i].rtmp;
}
}
} $(function () {
fetchCourseById(2, displayCourse.frameA);
fetchCourseById(1, displayCourse.frameB);
});

【4】

distpicker,不要遗漏

trigger
/*
* per-set
* 展示、修改用户信息。
* */
var getSexVal = function() {
var temp =$(".sex");
for (var i = 0; i != 3; ++i) {
if (temp[i].checked) return i;
}
return 0;
}; var lastTotalVal;
var getTotalVal = function() {
var temp = $("#user-val1").val()
+ $("#user-val2").val()
+ $("#user-val3").val()
+ $("#user-val4").val()
+ $("#user-val5").val()
+ $("#user-val6").val();
return temp;
} function verifyEmail(str) {
var reg = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
return reg.test(str);
} function verifyPhone(str) {
var reg = /^(\+86)|(86)?1[3,5,8]{1}[0-9]{1}[0-9]{8}$/;
return reg.test(str);
} var checkFormat_message = "";
var checkFormat = function() {
// 是否改变
currentTotalVal = getTotalVal();
if (currentTotalVal === lastTotalVal) {
checkFormat_message = "您还没有修改信息!";
return false;
}
// 非空
if ($("#user-val1").val() === "" || $("#user-val1").val() === null) {
checkFormat_message = "昵称不能为空";
return false;
}
// 邮箱格式
if (!verifyEmail($("#user-val5").val())) {
checkFormat_message = "邮箱格式错误";
return false;
}
// 手机号码格式
if (!verifyPhone($("#user-val4").val())) {
checkFormat_message = "手机号格式错误";
return false;
}
lastTotalVal = currentTotalVal;
return true;
}; var userProfile = {
display: function() {
$.ajax({
url: 'user/userProfile.do',
method: 'GET',
success: function (data) {
$($('.sex')[data.sex]).attr('checked', true);
$("#user-val2").val(data.province);
$("#user-val2").trigger('change');
$("#user-val3").val(data.city);
$("#user-val3").trigger('change');
$("#user-val6").val(data.country);
$("#user-val6").trigger('change'
);
}
});
},
saveProfile: function() {
if (!checkFormat()) {
alert(checkFormat_message);
return false;
};
$.ajax({
url: 'user/saveProfile.do',
method: 'GET',
data: {
username: $("#user-val1").val(),
sex: getSexVal(),
province: $("#user-val2").val(),
city: $("#user-val3").val(),
country: $("#user-val6").val(),
phone: $("#user-val4").val(),
email: $("#user-val5").val(),
},
success: function (data) {
if(data.status == 200)
alert('保存成功');
else
alert('保存失败');
}
});
},
}; $(function () {
userProfile.display();
$('#btnSaveProfile').click(userProfile.saveProfile);
lastTotalVal = getTotalVal();
});

Web开发相关笔记 #02#的更多相关文章

  1. Web开发相关笔记 #04# WebSocket

    本文的主要内容: HTTP VS. WebSocket WebSocket 的客户端实现(JavaScript) WebSocket 的服务端实现(Java & apache WebSocke ...

  2. Web开发相关笔记 #03#

    HTTP Status 500  ※  jsp 放在 WEB-INF 外面  ※ 使用 JDBC 时需要 close 什么 ※ execute 和 executeUpdate ※ How can I ...

  3. Web开发相关笔记 #01#

    前端学习纲要 ※jQuery 参考 ※ 整理 Chrome 收藏夹的小技巧 ※ 解决 AJAX 跨域获取 cookie ※ 记一次 MyBatis 相关的 debug [1] 前端学习纲要: ♦ 第一 ...

  4. Web开发相关笔记 #05# MySQL中文无法匹配

    2018-06-02 在 Class.forName 的时候记得先尝试 import 一下. 2018-06-04 1.JDBC SELECT 查询,中文条件查不出东西,可能是字符编码问题: Stri ...

  5. Web开发相关笔记

    1.MySQL命令行下执行.sql脚本详解http://database.51cto.com/art/201107/277687.htm 在可视化工具里导出.sql脚本 --> 放命令行里运行 ...

  6. 【前端】移动端Web开发学习笔记【2】 & flex布局

    上一篇:移动端Web开发学习笔记[1] meta标签 width设置的是layout viewport 的宽度 initial-scale=1.0 自带 width=device-width 最佳实践 ...

  7. 【前端】移动端Web开发学习笔记【1】

    下一篇:移动端Web开发学习笔记[2] Part 1: 两篇重要的博客 有两篇翻译过来的博客值得一看: 两个viewport的故事(第一部分) 两个viewport的故事(第二部分) 这两篇博客探讨了 ...

  8. ASP.NET Core Web开发学习笔记-1介绍篇

    ASP.NET Core Web开发学习笔记-1介绍篇 给大家说声报歉,从2012年个人情感破裂的那一天,本人的51CTO,CnBlogs,Csdn,QQ,Weboo就再也没有更新过.踏实的生活(曾辞 ...

  9. Django Web开发指南笔记

    Django Web开发指南笔记 语句VS表达式 python代码由表达式和语句组成,由解释器负责执行. 主要区别:表达式是一个值,它的结果一定是一个python对象:如:12,1+2,int('12 ...

随机推荐

  1. oracle怎么把一个用户下的表复制给另一个用户?(授予表权限)

    //把system读写权限 授权给scottselect 'Grant all on '||table_name||' to scott;' from all_tables where owner = ...

  2. LeetCode 笔记系列七 Substring with Concatenation of All Words

    题目:You are given a string, S, and a list of words, L, that are all of the same length. Find all star ...

  3. Python全栈day21-22-23(模块)

    一,python的模块 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python ...

  4. HDU3535——AreYouBusy

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3535 题目意思:给出两个数n,T,分别表示有n个任务集合,T的总时间,对于每个任务集合有两个属性m和t ...

  5. git 学习(3)文件删除恢复

    git学习(3) 撤销编辑 如果我们在编辑版本a的时候,如果在没有add之前,发现需要重新编辑版本a怎么办呢,可以通过git reset --hard comm_id, commit_id是版本a的提 ...

  6. windows server 2008 R2域中的DC部署 分类: AD域 Windows服务 2015-06-06 21:09 68人阅读 评论(0) 收藏

    整个晚上脑子都有点呆滞,想起申请注册好的博客还从来都不曾打理,上来添添生机.从哪里讲起呢,去年有那么一段时间整个人就陷在域里拔不出来,于是整理了一些文档,害怕自己糊里糊涂的脑子将这些东西会在一觉醒来全 ...

  7. OKEx量化分析报告[2017-12-09]

    OKEx量化分析报告[2017-12-09] [分析时间]2017-12-09 15:24 [分析对象]OKEx [计价币种]USDT [报告内容]DASH_USDT短期    -3.8中期     ...

  8. 在HTML里面HEAD部分的META元素要表达的内容是什么

    1.name属性主要有以下几种参数: A.Keywords(关键字) 说明:keywords用来告诉搜索引擎你网页的关键字是什么. 举例:<meta name ="keywords&q ...

  9. HDFS集群安装

    DFS集群安装: 1.准备工作 (1)虚拟机(电脑8G 磁盘500GB) (2)3台linux系统(1台namenode 2台datanode) 2.安装HDFS(软件) (1)关闭防火墙 firew ...

  10. 12.Project Fields to Return from Query-官方文档摘录

    1 插入例句 db.inventory.insertMany( [ { item: "journal", status: "A", size: { h: 14, ...