有时候想把公共的html封装起来,怎么处理呢?

好多页面都用到,不可能每个页面都写,这样就会有冗余,并且不好统一处理。

那就用js来重构html吧。

代码案例如下:

<footer class="aui-bar aui-bar-tab" id="footer">
<div class="aui-bar-tab-item" tapmode onclick="openWinPro('menu_mall')">
<i class="aui-iconfont aui-icon-home"></i>
<div class="aui-bar-tab-label">云店</div>
</div>
<div class="aui-bar-tab-item aui-active" tapmode>
<i class="aui-iconfont aui-icon-comment"></i>
<div class="aui-bar-tab-label">消息</div>
</div>
<div class="aui-bar-tab-item " tapmode onclick="openWinPro('menu_find')">
<i class="aui-iconfont aui-icon-like"></i>
<div class="aui-bar-tab-label">发现</div>
</div>
<div class="aui-bar-tab-item" tapmode onclick="openWinPro('menu_enterment')">
<i class="aui-iconfont aui-icon-video"></i>
<div class="aui-bar-tab-label">娱乐</div>
</div>
<div class="aui-bar-tab-item" tapmode onclick="openWinPro('menu_mine')">
<i class="aui-iconfont aui-icon-my"></i>
<div class="aui-bar-tab-label">我的</div>
</div>
</footer>

处理成js

function showMainMenu(active_name) {
// var active_name = arguments[0] ? arguments[0] : 'menu_mall'; // 定义默认值
active_name = active_name || 'menu_mall'; // 定义默认值
var footerHtml = '';
footerHtml += '<footer class="aui-bar aui-bar-tab" id="footer">';
if (active_name == 'menu_mall') {
footerHtml += ' <div class="aui-bar-tab-item aui-active" tapmode>';
footerHtml += ' <i class="aui-iconfont aui-icon-home"></i>';
footerHtml += ' <div class="aui-bar-tab-label">云店</div>';
footerHtml += ' </div>';
} else {
footerHtml += ' <div class="aui-bar-tab-item" tapmode onclick="openWinPro(\'menu_mall\')">';
footerHtml += ' <i class="aui-iconfont aui-icon-home"></i>';
footerHtml += ' <div class="aui-bar-tab-label">云店</div>';
footerHtml += ' </div>';
} if (active_name == 'menu_msg') {
footerHtml += ' <div class="aui-bar-tab-item aui-active" tapmode>';
footerHtml += ' <i class="aui-iconfont aui-icon-comment"></i>';
footerHtml += ' <div class="aui-bar-tab-label">消息</div>';
footerHtml += ' </div>';
} else {
footerHtml += ' <div class="aui-bar-tab-item" tapmode onclick="openWinPro(\'menu_msg\')">';
footerHtml += ' <i class="aui-iconfont aui-icon-comment"></i>';
footerHtml += ' <div class="aui-bar-tab-label">消息</div>';
footerHtml += ' </div>';
} if (active_name == 'menu_find') {
footerHtml += ' <div class="aui-bar-tab-item aui-active" tapmode>';
footerHtml += ' <i class="aui-iconfont aui-icon-like"></i>';
footerHtml += ' <div class="aui-bar-tab-label">发现</div>';
footerHtml += ' </div>';
} else {
footerHtml += ' <div class="aui-bar-tab-item" tapmode onclick="openWinPro(\'menu_find\')">';
footerHtml += ' <i class="aui-iconfont aui-icon-like"></i>';
footerHtml += ' <div class="aui-bar-tab-label">发现</div>';
footerHtml += ' </div>';
} if (active_name == 'menu_enterment') {
footerHtml += ' <div class="aui-bar-tab-item aui-active" tapmode >';
footerHtml += ' <i class="aui-iconfont aui-icon-video"></i>';
footerHtml += ' <div class="aui-bar-tab-label">娱乐</div>';
footerHtml += ' </div>';
} else {
footerHtml += ' <div class="aui-bar-tab-item" tapmode onclick="openWinPro(\'menu_enterment\')">';
footerHtml += ' <i class="aui-iconfont aui-icon-video"></i>';
footerHtml += ' <div class="aui-bar-tab-label">娱乐</div>';
footerHtml += ' </div>';
} if (active_name == 'menu_mine') {
footerHtml += ' <div class="aui-bar-tab-item aui-active" tapmode>';
footerHtml += ' <i class="aui-iconfont aui-icon-my"></i>';
footerHtml += ' <div class="aui-bar-tab-label">我的</div>';
footerHtml += ' </div>';
} else {
footerHtml += ' <div class="aui-bar-tab-item" tapmode onclick="openWinPro(\'menu_mine\')">';
footerHtml += ' <i class="aui-iconfont aui-icon-my"></i>';
footerHtml += ' <div class="aui-bar-tab-label">我的</div>';
footerHtml += ' </div>';
} footerHtml += '</footer>';
// $('body').append(footerHtml);
$api.append($api.dom('body'),footerHtml);
}

注意保持间距和美观性,利于后期维护。

调用很简单,用到的页面,直接调用函数showMainMenu()即可。

效果等同于每个页面都写一遍html。

原html中的单引号,加一个下划线处理一下就可以了。

封装html代码块到js函数中的更多相关文章

  1. JAVA之旅(十三)——线程的安全性,synchronized关键字,多线程同步代码块,同步函数,同步函数的锁是this

    JAVA之旅(十三)--线程的安全性,synchronized关键字,多线程同步代码块,同步函数,同步函数的锁是this 我们继续上个篇幅接着讲线程的知识点 一.线程的安全性 当我们开启四个窗口(线程 ...

  2. 在JS函数中执行C#中的函数、字段

    1.调用字段 cs文件的代码: ; protected void Page_Load(object sender, EventArgs e) { id = ; } js页面的代码: function ...

  3. eclipse实现代码块折叠-类似于VS中的#region……#endregion

    背 景 刚才在写代码的时候,写了十几行可以说是重复的代码: 如果整个方法或类中代码多了,感觉它们太TM占地方了,给读者在阅读代码上造成很大的困难,于是想到能不能把他们“浓缩”成一行,脑子里第一个闪现出 ...

  4. js函数中获得当前被点击元素

    问题描述:在html页面中点击<a>或者’按钮‘,进入js中的函数,在js函数中获得被点击那个<a>或‘按钮’元素 解决方法:方法一: html中: <a>标签:& ...

  5. 【玩转Eclipse】——eclipse实现代码块折叠-类似于VS中的#region……#endregion

    [玩转Eclipse]——eclipse实现代码块折叠-类似于VS中的#region……#endregion http://www.cnblogs.com/Micheal-G/articles/507 ...

  6. js函数中this的不同含义

    1.js函数调用过程中,js线程会进入新的执行环境并创建该环境的变量对象,并添加两个变量:this和arguments,因此可以在函数中使用这两个变量.需要注意的是,this变量不能重新赋值,而arg ...

  7. js函数中参数的传递

    数据类型 在 javascript 中数据类型可以分为两类: 基本类型值 primitive type,比如Undefined,Null,Boolean,Number,String. 引用类型值,也就 ...

  8. js函数中的BOM和DOM

    BOM 浏览器对象模型  screen对象 console.log(screen.width);// 屏幕宽度 console.log(screen.height);// 屏幕高度 console.l ...

  9. 构造代码块、this关键字、静态变量、静态代码块、主函数

    一.构造代码块: 作用:给对象进行初始化. 特点:对象一经运行就执行(与变量声明时赋初值同级别,此处注意 非法前向引用) 优先于构造函数的执行. 与构造函数的区别: 构造代码块是给所有对象统一初始化. ...

随机推荐

  1. POJ 3093 Margaritas on the River Walk(背包)

    题意 n个有体积的物品,问选取一些物品,且不能再继续选有多少方法? n<=1000 题解 以前的考试题.当时是A了,但发现是数据水,POJ上WA了. 把体积从小到大排序枚举没选的物品中体积最小的 ...

  2. java 获取config 配置文件

    static ResourceBundle PropertiesUtil = ResourceBundle.getBundle("config"); public static S ...

  3. JavaScript函数写法整理

    1.普通函数定义的两种写法 function hello(){ console.log("hello!"); } var hello = function(){ console.l ...

  4. vue-cli#2.0项目结构分析

    项目结构 build 构建工具相关的目录 config 配置目录 dist 通过工具打包生成的最终需要上线的目录 node_modules 存放本地开发所有的依赖包的目录 src 源码目录 stati ...

  5. Python学习笔记(二):字符串类型

    在上一篇随笔(https://www.cnblogs.com/g-qiang/p/10448813.html)中,说到 Python 有六种标准数据类型,而数字类型和字符串类型又是其中基本的数据类型. ...

  6. visual studio 2015下python编程的中文字符串问题

    visual studio 2015强大的编程功能,编写起python来也是非常方便的,但其对中文字符的支持不是很好,经常发生莫名其妙的错误,最常见的错误是不报错,也不执行代码. 代码简单如下: x= ...

  7. Mahout推荐算法API具体解释【一起学Mahout】

    阅读导读: 1.mahout单机内存算法实现和分布式算法实现分别存在哪些问题? 2.算法评判标准有哪些? 3.什么会影响算法的评分? 1. Mahout推荐算法介绍 Mahout推荐算法,从数据处理能 ...

  8. 12.红黑树set

    #include <iostream> //红黑树(自动保证平衡,自动生成平衡查找树) #include <set> #include <cstring> #inc ...

  9. WebApp之H5登录注册

    代码indexhtml <!DOCTYPE html> <html> <head> <meta charset="utf-8"> & ...

  10. UVa 11025 The broken pedometer【枚举子集】

    题意:给出一个矩阵,这个矩阵由n个数的二进制表示,p表示用p位二进制来表示的一个数 问最少用多少列就能将这n个数区分开 枚举子集,然后统计每一种子集用了多少列,维护一个最小值 b[i]==1代表的是选 ...