关于 Solo 前端页面的小问题

本贴最后更新于 2624 天前,其中的信息可能已经时移世易

1. 关于后台管理页面中 tabsPannel 标签下的问题

1. 代码背景
Solo 前端源码中后台管理里面统一是以 admin-index.ftl 为主页面,而其他功能(文章、用户)则分开放在其他 flt 文件中,通过异步来加载其他功能页面

2. 我们先简单回顾下代码的思路
整体设计如下 : (帮助您回想下,嘿嘿)

<div id="tabsPanel">
  <div id="tabsPanel_main" class="none">
  <div id="tabsPanel_article" class="none">
  <div id="tabsPanel_article-list" class="none">
  <div id="tabsPanel_draft-list" class="none">
  <div id="tabsPanel_link-list" class="none">
  <div id="tabsPanel_preference" class="none">
  <div id="tabsPanel_page-list" class="none">
  <div id="tabsPanel_others" class="none">
  <div id="tabsPanel_user-list" class="none">
  <div id="tabsPanel_comment-list" class="none">
  <div id="tabsPanel_plugin-list" class="none">
  <div id="tabsPanel_about" class="none">

然后我们通过调用 Jquery 的 load 方法来加载上面的子模块页面:比如加载 admin-user-list.ftl 页面

$("#tabsPanel_" + tab).load("admin-" + tab + ".do", function () {
    // 页面加载完后,回调初始函数
  if (tab === "article" && admin.article.status.id) {
        // 当文章页面编辑器未初始化时,调用更新文章需先初始化编辑器
  admin.register[tab].init.call(admin.register[tab].obj, admin.article.getAndSet);
  } else {
        admin.register[tab].init.call(admin.register[tab].obj, tags.page);
  }

    // 页面包含子 tab,需根据 hash 定位到相应的 tab
  if (subTab) {
        $("#tab" + tab.substring(0, 1).toUpperCase() + tab.substring(1)).
                tabs("setCurrent", subTab);
  }

    // 根据 hash 调用现有的插件函数
  admin.plugin.setCurByHash(tags);
});

最后 load 方法会把服务器中得到的数据插入到 id 为 tabsPanel_user-list 的 div 标签下。

3. 那么问题是
为什么 load 方法加载完页面后, <div id="tabsPanel_user-list" class="none"> 的属性会从 display:none 变成 display: block,如果自己在加一个新的 div 标签 <div id="tabsPanel_user-new" class="none"> 即使在 load 完页面后,属性依旧是 display:none

2. admin.min.js 的问题确认(续 Github 上的提问

管理后台依赖的 JS 压缩合并 —— 意思就是:把那些的依赖的 js 压缩成一个 min js 文件的意思吗?

@Vanessa

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 收到了。稍等一下下

  • 其他回帖
  • 1.3 . 你后台的 .do 请求要返回正常才会回调 function 里面的方法去设置 tab. 你先查看一下 admin-user-new.do 请求是否正常,js 里面的 $("#tabs").tabs("setCurrent", tab); 方法是否调用正常

    2 . 嗯,减少请求数

    BTW: at 前后需要加空格。

    1 回复
  • tianxin
    作者

    原来控制 属性 display 的 none 和 block 是 tabs 方法来控制的。已经解决该问题了。

    1. tabs 方法是在 jquery.bowknot.min.js 里实现的。jquery.bowknot.min.js 库的主要用途是干什么呢?
    1 回复
  • tianxin
    作者

    @Vanessa 这样能 @ 到吗~

  • 查看全部回帖
tianxin
不会前端的后台工程师不是一个好厨师。所以,我的理想是成为一个吃遍天下美食的好厨师。 广州

推荐标签 标签

  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    397 引用 • 3418 回帖
  • Ngui

    Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
    Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。

    7 引用 • 9 回帖 • 345 关注
  • Pipe

    Pipe 是一款小而美的开源博客平台。Pipe 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    131 引用 • 1114 回帖 • 148 关注
  • 爬虫

    网络爬虫(Spider、Crawler),是一种按照一定的规则,自动地抓取万维网信息的程序。

    106 引用 • 275 回帖
  • 资讯

    资讯是用户因为及时地获得它并利用它而能够在相对短的时间内给自己带来价值的信息,资讯有时效性和地域性。

    53 引用 • 85 回帖 • 2 关注
  • HTML

    HTML5 是 HTML 下一个的主要修订版本,现在仍处于发展阶段。广义论及 HTML5 时,实际指的是包括 HTML、CSS 和 JavaScript 在内的一套技术组合。

    103 引用 • 294 回帖 • 1 关注
  • 生活

    生活是指人类生存过程中的各项活动的总和,范畴较广,一般指为幸福的意义而存在。生活实际上是对人生的一种诠释。生活包括人类在社会中与自己息息相关的日常活动和心理影射。

    228 引用 • 1450 回帖
  • Ubuntu

    Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    123 引用 • 168 回帖
  • 房星科技

    房星网,我们不和没有钱的程序员谈理想,我们要让程序员又有理想又有钱。我们有雄厚的房地产行业线下资源,遍布昆明全城的 100 家门店、四千地产经纪人是我们坚实的后盾。

    6 引用 • 141 回帖 • 560 关注
  • 数据库

    据说 99% 的性能瓶颈都在数据库。

    330 引用 • 614 回帖
  • Swift

    Swift 是苹果于 2014 年 WWDC(苹果开发者大会)发布的开发语言,可与 Objective-C 共同运行于 Mac OS 和 iOS 平台,用于搭建基于苹果平台的应用程序。

    34 引用 • 37 回帖 • 499 关注
  • uTools

    uTools 是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。

    5 引用 • 13 回帖
  • Hibernate

    Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。

    39 引用 • 103 回帖 • 685 关注
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    6604 引用 • 29630 回帖 • 249 关注
  • DNSPod

    DNSPod 建立于 2006 年 3 月份,是一款免费智能 DNS 产品。 DNSPod 可以为同时有电信、网通、教育网服务器的网站提供智能的解析,让电信用户访问电信的服务器,网通的用户访问网通的服务器,教育网的用户访问教育网的服务器,达到互联互通的效果。

    6 引用 • 26 回帖 • 521 关注
  • RabbitMQ

    RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    49 引用 • 60 回帖 • 394 关注
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    915 引用 • 931 回帖
  • CSDN

    CSDN (Chinese Software Developer Network) 创立于 1999 年,是中国的 IT 社区和服务平台,为中国的软件开发者和 IT 从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。

    14 引用 • 155 回帖
  • 负能量

    上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)

    85 引用 • 1201 回帖 • 449 关注
  • RIP

    愿逝者安息!

    8 引用 • 92 回帖 • 290 关注
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    186 引用 • 318 回帖 • 335 关注
  • 钉钉

    钉钉,专为中国企业打造的免费沟通协同多端平台, 阿里巴巴出品。

    15 引用 • 67 回帖 • 369 关注
  • Ant-Design

    Ant Design 是服务于企业级产品的设计体系,基于确定和自然的设计价值观上的模块化解决方案,让设计者和开发者专注于更好的用户体验。

    17 引用 • 23 回帖 • 7 关注
  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    192 引用 • 291 回帖 • 441 关注
  • 服务器

    服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。

    124 引用 • 580 回帖
  • Tomcat

    Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。

    162 引用 • 529 回帖 • 1 关注
  • 京东

    京东是中国最大的自营式电商企业,2015 年第一季度在中国自营式 B2C 电商市场的占有率为 56.3%。2014 年 5 月,京东在美国纳斯达克证券交易所正式挂牌上市(股票代码:JD),是中国第一个成功赴美上市的大型综合型电商平台,与腾讯、百度等中国互联网巨头共同跻身全球前十大互联网公司排行榜。

    14 引用 • 102 回帖 • 408 关注