封装html代码块到js函数中
有时候想把公共的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函数中的更多相关文章
- JAVA之旅(十三)——线程的安全性,synchronized关键字,多线程同步代码块,同步函数,同步函数的锁是this
JAVA之旅(十三)--线程的安全性,synchronized关键字,多线程同步代码块,同步函数,同步函数的锁是this 我们继续上个篇幅接着讲线程的知识点 一.线程的安全性 当我们开启四个窗口(线程 ...
- 在JS函数中执行C#中的函数、字段
1.调用字段 cs文件的代码: ; protected void Page_Load(object sender, EventArgs e) { id = ; } js页面的代码: function ...
- eclipse实现代码块折叠-类似于VS中的#region……#endregion
背 景 刚才在写代码的时候,写了十几行可以说是重复的代码: 如果整个方法或类中代码多了,感觉它们太TM占地方了,给读者在阅读代码上造成很大的困难,于是想到能不能把他们“浓缩”成一行,脑子里第一个闪现出 ...
- js函数中获得当前被点击元素
问题描述:在html页面中点击<a>或者’按钮‘,进入js中的函数,在js函数中获得被点击那个<a>或‘按钮’元素 解决方法:方法一: html中: <a>标签:& ...
- 【玩转Eclipse】——eclipse实现代码块折叠-类似于VS中的#region……#endregion
[玩转Eclipse]——eclipse实现代码块折叠-类似于VS中的#region……#endregion http://www.cnblogs.com/Micheal-G/articles/507 ...
- js函数中this的不同含义
1.js函数调用过程中,js线程会进入新的执行环境并创建该环境的变量对象,并添加两个变量:this和arguments,因此可以在函数中使用这两个变量.需要注意的是,this变量不能重新赋值,而arg ...
- js函数中参数的传递
数据类型 在 javascript 中数据类型可以分为两类: 基本类型值 primitive type,比如Undefined,Null,Boolean,Number,String. 引用类型值,也就 ...
- js函数中的BOM和DOM
BOM 浏览器对象模型 screen对象 console.log(screen.width);// 屏幕宽度 console.log(screen.height);// 屏幕高度 console.l ...
- 构造代码块、this关键字、静态变量、静态代码块、主函数
一.构造代码块: 作用:给对象进行初始化. 特点:对象一经运行就执行(与变量声明时赋初值同级别,此处注意 非法前向引用) 优先于构造函数的执行. 与构造函数的区别: 构造代码块是给所有对象统一初始化. ...
随机推荐
- GDOI2018爆炸记
Day0 12:45p.m. 从初中部出发前回班探望了一下同学,受到热烈欢迎(?) 13:15p.m. 出发去中山,路上本来想用mac看fz的,结果ass字幕导入失败,心态爆炸*1:后来成功获取xfz ...
- 《Craking the Coding interview》python实现---01
###题目:给定一个字符串,判断其中是否有重复字母###思路:将重复的字符放入到list中,并进行计数统计###实现:伪代码.函数.类实现###伪代码:string=s #给定的字符串list=[] ...
- JAVA jsp page指令的属性 errorPage 和isErrorPage
>errorPage指定当前页面出现错误的实际响应页面是什么, 其中“/” 表示的是当前WEB应用的根目录 <% page errorPage="/error.jsp" ...
- 洛谷 P2049 魔术棋子
P2049 魔术棋子 题目描述 在一个M*N的魔术棋盘中,每个格子中均有一个整数,当棋子走进这个格子中,则此棋子上的数会被乘以此格子中的数.一个棋子从左上角走到右下角,只能向右或向下行动,请问此棋子走 ...
- java里的一些特别值得注意的地方
return 语句的作用:1.返回值 2.结束某个方法的执行. 局部变量必需要初始化,全局变量系统会默认初始值: 整型数赋默认值为0. 浮点数赋默认值为0.0,boolean赋默认值为false. c ...
- MapReduce 的类型与格式【编写最简单的mapreduce】(1)
hadoop mapreduce 中的map 和reduce 函数遵循下面的形式 map: (K1, V1) → list(K2, V2) reduce: (K2, list(V2)) → list( ...
- AVEVA PDMS to DIALux
AVEVA PDMS to DIALux eryar@163.com Abstract. DIAL develops DIALux - the world's leading software f ...
- nyoj--218--Dinner(语法)
Dinner 时间限制:100 ms | 内存限制:65535 KB 难度:1 描述 Little A is one member of ACM team. He had just won the ...
- uwsgi和wsgi
一个Web应用的本质就是: 浏览器发送一个HTTP请求: 服务器收到请求,生成一个HTML文档: 服务器把HTML文档作为HTTP响应的Body发送给浏览器: 浏览器收到HTTP响应,从HTTP Bo ...
- SFTP的使用
SFTP的使用: 1.项目中需要引入jar包,下载地址:https://sourceforge.net/projects/jsch/files/jsch.jar/ 2.需要下载SFTP服务器,下载地址 ...