Namespace.register("U.CD.SL"); //注册示例项目区域 U.CD.SL.MySQL = "mysql"; //后台据此判断是到mongodb还是mysql。type是命令类型 U.CD.SL.Data = null; //保存示例中的数据,避免数据库频繁刷新。 U.CD.SL.PrePD = null; //保存了示例项目中评论和大图2个按钮,在onmouseover中切换状态。 //示例项目 U.CD.SL.Init = function () { // if (!$("#UCD_SL_N_F_R")[0].childNodes.length) U.D.AD.BDGG($("#UCD_SL_N_F_R")[0], '897767'); //百度广告,外部js加载不成功,导致本网站js不能运行,奇怪了 //暂时做几个功能,以后扩充。 //var _lans = $("#UCD_SL_N_F")[0].getElementsByTagName("div"), i; //for (i = 0; i < _lans.length; i++) { if (_lans[i].innerHTML != "HTML5语言") _lans[i].onclick = U.M.apply(this, [[alert, (["有空看看http://www.1473.cn,有惊喜!"])]]) } // var _s = $("#UCD_SL")[0]; // //_s.style.width = document.body.clientWidth * 0.67 + "px"; //设置展示区域宽度 // _s.style.width = "1000px"; // _s.style.left = (document.body.clientWidth - parseInt(_s.style.width)) / 2 + "px"; //宽度居中 // _s.style.height = document.body.clientHeight - 20 - 20 - 80 + "px"; //减去头部和尾部高度 // _s.style.display = "block"; //显示或隐藏 var UCD_SL_T_Width, UCD_SL_T_Left, UCD_SL_T_height; UCD_SL_T_Width = "1000px"; UCD_SL_T_Left = (document.body.clientWidth - parseInt(UCD_SL_T_Width)) / 2 + "px"; UCD_SL_T_height = document.body.clientHeight - 20 - 20 - 80 + "px"; U.UF.UI.Form({ id: "UCD_SL_T", style: { "width": UCD_SL_T_Width, "left": UCD_SL_T_Left, "top": "5%", "height": UCD_SL_T_height }, title: "成功案例" }) $("#UCD_SL_T .UD_SYF_SCO").append($(".UCD_SL_N_T")[0]); $("#UCD_SL_T .UD_SYF_SCO").append($(".UCD_SL_NN")[0]); //$("#UCD_SL_N_N")[0].style.height = _s.clientHeight - 100 + "px"; //选取数据库所有数据,参数1表示滚动加载的页数,以后再修正为滚动加载,数据库默认1次加载500条。 //为了避免频繁加载,结果需要保存到全局变量中。 if (!U.CD.SL.Data || true) {// 加个true 刷新案例 //try catch不成功?以后再搞 try { //第一个参数:请求的后台地址。第二个参数是一个数组(数据库名字,存储过程名字,后面的都是存储过程的参数) //第三个参数是回调函数。第四个是回调参数。 U.ACD.Request(U.CD.AjaxUrl, ([U.CD.SL.MySQL, "Select_All", 1, U.CD.USLang]), U.CD.SL.Display, ([""])); } catch (e) { alert("数据库连接暂时不成功,但不影响客户端操作"); } } } //弹出切换语言窗口 U.CD.SL.L = function () { // var _b = $("#UCD_L_C")[0]; // _b.style.width = "537px"; // _b.style.left = (document.body.clientWidth - parseInt(_b.style.width)) / 2 + "px"; //宽度居中 // // _b.style.height = document.body.clientHeight - 20 - 20 - 430 + "px"; //减去头部和尾部高度 // _b.style.display = "block"; //显示或隐藏 if ($("#test")[0]) { $("#test")[0].style.display = "block" } else { U.UF.UI.Form({ id: "test", "class": "UCD_L_C", style: { "width": "537px", "left": "698px", "height": "298px", "top": "256px" }, title: "云端切换语言" }); $("#test .UD_SYF_SCO")[0].appendChild($(".UCD_SL_C_N")[0]); $("#test .UD_SYF_SCO")[0].style.overflow = "hidden"; $("#UCD_L_C")[0].style.display = "none"; } } //展示数据库中发布的项目 U.CD.SL.Display = function (r) { if (r.value == "") { U.CD.SL.Init(); } var _r = U.CD.SL.Data = r.value[0]; //获取mysql数据库返回的数据。 U.CD.SL.DisFlow(_r); } U.CD.SL.DisFlow = function (_r) { var _nr = $("#UCD_SL_N_N")[0], i, j, _l; //_l流式布局个数定义 var userId = U.M.Cookies.get("usestudiosso") && U.M.Cookies.get("usestudiosso").split("&").filter(function (v) { return v.indexOf("userid") != -1 }); //当前登录用户的id userId && (userId = userId[userId.length - 1].split("=")[1]); $("#UCD_SL_N_N")[0].innerHTML = ""; //清空div if (!_r.length) _nr.innerHTML = "
暂时无人添加示例,您可以来添加哦,分享是一种美德,点此分享!
"; _l = U.CD.SL.Flowlayout(_nr, 140, 7); //返回列数,如果已经做了流式布局,下一次进来不再调用此函数。 var a = _r, len = a.length, tp; for (i = 0; i < len; i++) { for (j = i; j < len; j++) { if (Date.parse(a[i].CreateDate) < Date.parse(a[j].CreateDate)) {//按时间排序 降序 tp = a[i]; a[i] = a[j]; a[j] = tp; } } } _r = a; for (i = 0; i < _r.length; i++) { var _p = $("#UCD_SL_N_N")[0]; //找到流式布局点,追加相应元素,这是技巧,为了兼容Chrome,使用了Uq方法获取孩子节点 .Child()[i % _l] //var _src = "http://www.1473.cn/img/usestudiobackgroudnimage/beta1/bg1(1).jpg"; var _a = $$("div", { "className": "UCD_SL_N_N_C", "onmouseover": [[U.CD.SL.DisReply, (["retElement", _r[i]])]], "onclick": [[U.CD.SL.DisOther, ([_r[i]])]] }, _p); //单个样式 $$("img", { "className": "UCD_SL_N_N_C_I", "src": _r[i].DImg, "onerror": [U.MD.C.imgError, (["this", 1])] }, _a); //图像样式 var _b = $$("div", { "className": "UCD_SL_N_N_C_RD" }, _a); //评论,大图样式 var pl = $$("div", { "className": "UCD_SL_N_N_C_R" }, _b); //评论样式 $$("img", { "src": "../images/cgal_dt.png", "onclick": [[U.UF.EV.stopBubble], [U.Img.Create, ([{ 'Img': _r[i].DImg, 'Thm': _r[i].DSmallImg}])]] }, pl); //"onclick": [[U.UF.EV.stopBubble], [U.Img.Create, ([{ 'Img': _r[i].DImg, 'Thm': _r[i].DSmallImg}])]] //"onclick": [[U.UF.EV.stopBubble], [U.CD.OU.Reply, ([_r[i].DID])]] //如果是管理员账号,则添加一个发布审核按钮。 /*if (U.CD.U.IsUSelf().userid == "baa5e5ae-0fc2-4eab-ba44-cd993d6ce5a1") $$("div", { "className": "UCD_SL_N_N_C_S", "innerHTML": "审核", "onclick": [[U.UF.EV.stopBubble], [U.CD.SL.VerConfirm, ([_r[i]])]] }, _b); //评论样式*/ var dt = $$("div", { "className": "UCD_SL_N_N_C_D" }, _b); //大图样式 $$("img", { "src": "../images/cgal_pl.png", "onclick": [[U.UF.EV.stopBubble], [U.CD.OU.Reply, ([_r[i].DID])]] }, dt); _r[i].DBrief = _r[i].DBrief.replace(/\r\n/g, '
'); //换行符号处理 $$("div", { "className": "UCD_SL_N_N_C_T", "title": _r[i].DName, "innerHTML": _r[i].DName }, _a); //标题样式 $$("div", { "className": "UCD_SL_N_N_C_N", "innerHTML": _r[i].DBrief }, _a); //内容样式 if (userId && (userId == _r[i].UserID)) {//只有用户自己的案例才可以修改 $$("div", { "className": "UCD_SL_N_N_C_XG", "onclick": [[U.UF.EV.stopBubble], [U.CD.SL.Publish, [null, US.userInfo.UserId, _r[i]]]] }, _b); //修改 $$("div", { "className": "UCD_SL_N_N_C_SC", "onclick": [[U.UF.EV.stopBubble], [function (id, div) {//删除的函数 U.UF.UI.Confirm("确定要删除吗?", [function (id, div) { //confirm var rt = U.ACD.Request(U.CD.AjaxUrl, ([U.CD.SL.MySQL, "Develop_delete_example", id]), 0, ([""])); //删除数据库案例 if (rt.value.affectedRows == 1) {//影响行数 $(div).remove(); //把div删除了 U.Alert("删除成功!"); //弹个框 } }, ([id, div])], [function () { }, ([])]); }, [_r[i].DID, _a]]]//id和div传进去 }, _b); //删除 } //U.ACD.Request(U.CD.AjaxUrl, ([U.CD.SL.MySQL, "Select_All", 1, U.CD.USLang]), U.CD.SL.Display, ([""])); } } //精华,提问,等切换区域 U.CD.SL.Type = function (t) { //如果前台有数据,切换时筛选数据 var d = U.CD.SL.Data, n = d.length, i, _r = []; if (d) { for (i = 0; i < n; i++) { if (d[i].DType == t) _r.push(d[i]); } } $("#UCD_SL_N_N")[0].innerHTML = ""; U.CD.SL.DisFlow(_r); } //搜索函数 U.CD.SL.Sou = function (o) { var s = o.parentNode.getElementsByTagName("input")[0].value; var d = U.CD.SL.Data, n = d.length, i, _r = []; if (d) { for (i = 0; i < n; i++) { if (d[i].DName.indexOf(s) > -1) _r.push(d[i]); } } $("#UCD_SL_N_N")[0].innerHTML = ""; U.CD.SL.DisFlow(_r); } //回车搜索 U.CD.SL.SouEnter = function (o) { if (event.keyCode == 13) { var s = o.parentNode.getElementsByTagName("input")[0].value; var d = U.CD.SL.Data, n = d.length, i, _r = []; if (d) { for (i = 0; i < n; i++) { if (d[i].DName.indexOf(s) > -1) _r.push(d[i]); } } $("#UCD_SL_N_N")[0].innerHTML = ""; U.CD.SL.DisFlow(_r); } } //鼠标移动到相关条目时弹出查看该项目评论信息。 U.CD.SL.DisReply = function (SO, r) { //给SO添加2个div,用来查看评论和大图 var _s, i; if (U.CD.SL.PrePD) { if (U.CD.SL.PrePD.childNodes[1]) { _s = U.CD.SL.PrePD.childNodes[1].childNodes; for (i = 0; i < _s.length; i++) { _s[i].style.display = "none"; } } } _s = SO.childNodes[1].childNodes; for (i = 0; i < _s.length; i++) { _s[i].style.display = "block"; } U.CD.SL.PrePD = SO; } //弹出审核确认取消框。 U.CD.SL.VerConfirm = function (r) { U.UF.UI.Confirm("你确定取消" + r.DName + "在首页中的显示吗?", [U.CD.SL.Verify, ([r])], ""); } //去数据库通过审核,展示在前台供其他用户查看项目。 U.CD.SL.Verify = function (r) { U.ACD.Request(U.CD.AjaxUrl, ([U.CD.SL.MySQL, "Add_Develop", r.DID, r.UserID, r.UserName, r.DName, r.DBrief, r.DSmallImg, r.DImg, r.DPrice, "0"]), U.CD.SL.VerifyAsyn, ([""])); } //数据库是否成功 U.CD.SL.VerifyAsyn = function (r) { r.value[0].length ? alert("审核成功") : alert("审核失败"); } //展示其他人的项目。 U.CD.SL.DisOther = function (u) { //window.open("http://d.1473.cn/" + "#!/" + encodeURI(u.DID + "|" + u.UserID)); $("#UCD_SL_T")[0].style.display = "none"; U.CD.Url.Param(["#!", u.DID + "|" + u.UserID]); //采用本窗口加载模式 } //前端后端切换 U.CD.SL.Change = function (l) { U.UF.UI.Confirm("
你确定切换到" + l + "后端吗?
前端:包括HTML,CSS,Javascript等知识.
后端:包括C语言,PHP语言,Ruby语言等.
", [U.CD.SL.ChangeAsyn, ([l])], ""); } U.CD.SL.ChangeAsyn = function (l) { window.open("http://c.1473.cn/" + "#!/" + l); } //异步采用新窗口模式 //流式布局函数,封装起来,以后给UC。参数1为大的元素,参数2为小元素的宽度,各个小元素的margin,此函数返回值为列数 U.CD.SL.Flowlayout = function (NR, W, M) { // var _a = NR.clientWidth, i; //大容器宽度 // var _num = Math.floor(_a / (W + 2 * M)); //小元素宽度 // //添加列数到大元素 // for (i = 0; i < _num; i++) { // $$("div", { "style": { "width": W + "px", "margin": M + "px" }, "className": "UCD_SL_N_N_L" }, NR); //追加流式布局的包容器 // } // return _num; var _a = NR.clientWidth, i; //大容器宽度 var _num = Math.floor(_a / (W + 2 * M)); //小元素宽度 //添加列数到大元素 for (i = 0; i < 5; i++) { $$("div", { "style": { "width": "185px", "margin-right": "10px" }, "className": "UCD_SL_N_N_L" }, NR); //追加流式布局的包容器 } return _num; } //-------------------------------------------------------------------发布项目到首页区域----------------------------------------------------- //发布一个项目,会添加到示例项目区域。 U.CD.SL.Publish = function (SO, userid, node) { //到数据库查询是否已经发不过。 U.ACD.Request(U.CD.AjaxUrl, ([U.CD.SL.MySQL, "Select_One", node.ID]), U.CD.SL.ISPub, (["", SO, userid, node])); } //--------------------------------------UJ框架RadioList控件------------------------------------------------- //S是一个json,表示多个Checkbox的内容,D表示需要生成checkbox的父亲元素,比如一个div //调用方法。//var ra = U.UF.UI.RadioList($("#UCD_FB_N_CK_CK")[0], { "TW": "提问", "ZY": "作业", "JH": "精华", "CT": "控件" }); //取值方法 ra.value();可以获取用户选择的值。 U.UF.UI.RadioList = function (D, S) { var T = new U.UF.UI.RadioListT(D, S); T.init(); //初始化单选按钮组。 return T; } U.UF.UI.RadioListT = function (D, S) { if (U.M.GetType(S) != "Object") return; //如果不是数组,返回 D.innerHTML = ""; //清空以前的 this.D = D; this.S = S; this.A = []; //所有checkbox元素,用于选择, //返回选中的Checkbox。 } U.UF.UI.RadioListT.prototype = { init: function () { var S = this.S, p, c; //得到Checkbox长度,p为span,c为checkbox for (var s in S) { if (S.hasOwnProperty(s)) { p = $$("div", { "innerHTML": S[s], "style": { "cssText": "margin-left:5px;"} }, this.D); c = $$("input", { "type": "radio", "value": s, "onclick": [this.radiochecked, ([this, "retElement"])] }, p); this.A.push(c); } } this.A[0].checked = true; }, //选中函数,其他全部不选中,单击的元素选中。r为保证作用域,"retElement"表示radio元素本身。 radiochecked: function (r, o) { var i; for (i = 0; i < r.A.length; i++) r.A[i].checked = false; o.checked = true; }, //返回被选中的值 value: function () { var i; for (i = 0; i < this.A.length; i++) if (this.A[i].checked == true) return this.A[i].value; return this.A[0].value; //默认返回第一个元素 } } //检测以前是否发布过的异步函数 U.CD.SL.ISPub = function (r) { //清空以前数据 var SO = r.context[1], userid = r.context[2], node = r.context[3]; //得到传递的参数 var _r = r.value[0]; //得到数据库的值。 //如果没获取到数据,表示没发不过,所有选项清空,否则,表示修改,把数据库的值赋予各个选项。 if (_r.length == 0) { $("#UCD_FB_N_N_Name")[0].value = "", $("#UCD_FB_N_N_T")[0].value = "", $("#UCD_FB_NR_IMG")[0].value = "", $("#UCD_FB_N_N_P")[0].value = ""; } else { _r = _r[0]; $("#UCD_FB_N_N_Name")[0].value = _r.DName, $("#UCD_FB_N_N_T")[0].value = _r.DBrief, $("#UCD_FB_NR_IMG")[0].src = _r.DSmallImg, $("#UCD_FB_N_N_P")[0].value = _r.DPrice; } // var _UDUP = $("#UCD_FB")[0]; //获取命令窗口 //var _NR = $("#UCD_FB_N_N")[0]; _NR.innerHTML = ""; //获取内容窗口 if (_r.DName) $("#UCD_FB_N_T")[0].innerHTML = "您已经发不过" + node.Name + "了?但还可以修改相应信息"; else $("#UCD_FB_N_T")[0].innerHTML = "您将要发布" + node.Name + "吗?此项目将对所有人可见!"; $("#UCD_FB_N_N_Name")[0].value = node.Name; //给标题赋值 //生成CheckBoxList var ra = U.UF.UI.RadioList($("#UCD_FB_N_CK_CK")[0], U.CD.DType); $("#UCD_FB_NR_IMG")[0].onclick = U.M.apply(this, [[U.UF.EV.stopBubble], [U.Img.Create, [([{ 'Thm': _r.DSmallImg, 'Img': _r.DImg}])]]]); $("#UCD_FB_N_N_N_S")[0].onclick = U.M.apply(this, [[U.CD.SL.PSubmit, ([SO, userid, node, ra])]]); //给提交按钮赋值 if (!$("#UCD_FB2")[0]) { U.UF.UI.Form({ id: "UCD_FB2", style: { "width": "537px", "left": "690px", "top": "200px", "height": "537px" }, title: "发布项目窗口." }); $("#UCD_FB2 .UD_SYF_SC")[0].childNodes[0].remove() $("#UCD_FB2 .UD_SYF_SC")[0].append($(".UCD_FB_N")[0]); } else { $("#UCD_FB2")[0].style.display = "block"; } // if (_UDUP.style.display == "none") { U.D.PopupWindow(_UDUP); } //onclick直接响应 } //单击发布按钮,发布到mysql U.CD.SL.PSubmit = function (SO, userid, node, ra) { var _c = U.CD.U.IsUSelf(); //获取用户登录Cookie. _c.userid _c.username _c.Loginid if (!_c) { U.CD.U.LoginApply(); return; } //如果未登录,弹出登录窗口。 //_n名字 _b简介 -i图片 _p价格。 var _n = $("#UCD_FB_N_N_Name")[0].value, _b = $("#UCD_FB_N_N_T")[0].value; var _s = $("#UCD_FB_NR_IMG")[0].title; _i = $("#UCD_FB_NR_IMG")[0].src, _p = $("#UCD_FB_N_N_P")[0].value; var username = _c.username; //cookie中的用户名 if (!$("#UCD_FB_N_N_Name")[0].value) { U.Alert("项目名称不能为空!"); return; } //项目名称不可以为空 //id为项目id,存储在mongodb中, //提交到数据库,ra.value()表示提交到精华区域、学习区域的类型, U.CD.USLang表示提交到哪一个语言。"1"表示发布到首页。 U.ACD.Request(U.CD.AjaxUrl, ([U.CD.SL.MySQL, "Add_Develop", node.ID, userid, username, _n, _b, _s, _i, _p, "1", U.CD.USLang, ra.value()]), U.CD.SL.PSubAsyn, ([""])); } //发布成功后异步函数。 U.CD.SL.PSubAsyn = function (r) { r.value[0].length ? alert("发布项目成功") : alert("发布项目失败"); } //新用户发布自己的项目 U.CD.SL.PubPro = function () { var _c = U.CD.U.IsUSelf(); //获取用户登录Cookie. _c.userid _c.username _c.Loginid if (!_c) { U.CD.U.LoginApply(); return; } //如果未登录,弹出登录窗口。 U.CD.SL.SelPro(); // alert("请在右边项目区域单击操作图标,发布自己的项目,谢谢!!!!"); // U.CD.RT.CProject(_c.userid, U.CD.U.CUser.TNode[0]); // U.CD.RT.Panel(); } U.CD.SL.SelPro = function (node, UUID) { if (node != undefined) { var DetailsFrame = document.getElementById("UCD_SLPublish").getElementsByClassName("UD_SYF_SCO")[0]; U.CD.RT.F_L_Node(node, UUID, DetailsFrame); $("#UCD_SLPublish")[0].style.display = "none"; } else { $("#UCD_SLPublish")[0].style.display = "block"; U.D.PopupWindow($("#UCD_SLPublish")[0]); } }