JS实例网页上图片延迟加载的JS代码

JS实例网页上图片延迟加载的JS代码
JS实例网页上图片延迟加载的JS代码

大家如果使用firebug去查看的话就会发现,当你滚动到相应的行时,当前行的图片才即时加载的,这样子的话页面在打开只加可视区域的图片,而其它隐藏的图片则不加载,一定程序上加快了页面加载的速度,对于比较长的页面来说,这个方案是比较好的。

实现原理

把所有需要延时加载的图片改成如下的格式:

然后在页面加载时,把所有使用了lazy_src的图片都保存到数组里,然后在滚动时计算可视区域的top,然后把延时加载的图片中top小于当前可视区域(即图片出现在可视区域内)的图片的src的值用lazy_src的来替换(加载图片)

代码

lazyLoad=(function() {

var map_element = {};

var element_obj = [];

var download_count = 0;

var last_offset = -1;

var doc_body;

var doc_element;

var lazy_load_tag;

function initVar(tags) {

doc_body = document.body;

doc_element = https://www.360docs.net/doc/27409945.html,patMode == 'BackCompat' ? doc_body: document.documentElement;

lazy_load_tag = tags || ["img", "iframe"];

};

function initElementMap() {

var all_element = [];

//从所有相关元素中找出需要延时加载的元素

for (var i = 0,

len = lazy_load_tag.length; i < len; i++) {

var el = document.getElementsByTagName(lazy_load_tag[i]);

for (var j = 0,

len2 = el.length; j < len2; j++) {

if (typeof(el[j]) == "object" && el[j].getAttribute("lazy_src")) {

element_obj.push(all_element[key]);

}

}

}

for (var i = 0,

len = element_obj.length; i < len; i++) {

var o_img = element_obj[i];

var t_index = getAbsoluteTop(o_img);//得到图片相对document的距上距离

if (map_element[t_index]) {

map_element[t_index].push(i);

} else {

//按距上距离保存一个队列

var t_array = [];

t_array[0] = i;

map_element[t_index] = t_array;

download_count++;//需要延时加载的图片数量

}

}

};

function initDownloadListen() {

if (!download_count) return;

var offset = (window.MessageEvent && !document.getBoxObjectFor) ? doc_body.scrollTop: doc_element.scrollTop;

//可视化区域的offtset=document的高+

var visio_offset = offset + doc_element.clientHeight;

if (last_offset == visio_offset) {

setTimeout(initDownloadListen, 200);

return;

}

last_offset = visio_offset;

var visio_height = doc_element.clientHeight;

var img_show_height = visio_height + offset;

for (var key in map_element) {

if (img_show_height > key) {

var t_o = map_element[key];

var img_vl = t_o.length;

for (var l = 0; l < img_vl; l++) {

element_obj[t_o[l]].src = element_obj[t_o[l]].getAttribute("lazy_src");

}

delete map_element[key];

download_count--;

}

}

setTimeout(initDownloadListen, 200);

};

function getAbsoluteTop(element) {

if (arguments.length != 1 || element == null) {

return null;

}

var offsetTop = element.offsetTop;

while (element = element.offsetParent) {

offsetTop += element.offsetTop;

}

return offsetTop;

}

function init(tags) {

initVar(tags);

initElementMap();

initDownloadListen();

};

return {

init: init

}

})();

使用方法:把页面上需要延时加载的图片src改成为lazy_src,然后把上面的js放到body最后面,然后调用:lazyLoad.init();

调试的方法可以使用firebug来查看一时图片是否是延时加载。

另外:

如果你的页面上存在有内容切换的栏目的话,可能在切换时切换的内容里的图片可能会不显示,处理的方法是在内容时单独图片加载处理,如:

///切换内容的代码...

chlid.find("img[init_src]").each(function(){

$(this).attr("src",$(this).attr("init_src"));

$(this).removeAttr("init_src");

});

---★本文转摘自『IT学习者』→file:///E:/技术/JS实例网页上图片延迟加载的JS代码-ajax-IT学习者.mht

---★本文转摘自『IT学习者』→file:///E:/技术/JS实例网页上图片延迟加载的JS代码-ajax-IT学习者.mht

Javascript弹窗代码大全(收集)

弹窗代码大全(收集) 以下包括强制弹窗 24小时IP弹窗延时弹窗退弹等 我们使用cookie来控制一下就可以了。 首先,将如下代码加入主页面html的区: 然后,用(注意不是openwin而是loadpop啊!)替换主页面中原有的这一句即可。你可以试着刷新一下这个页面或重新进入该页面,窗口再也不会弹出了。真正的pop-only-once! 写到这里弹出窗口的制作和应用技巧基本上算是完成了,俺也累坏了,一口气说了这么多,希望对正在制作网页的朋友有所帮助俺就非常欣慰了。 需要注意的是,js脚本中的的大小写最好前后保持一致。 3.一个强制弹窗代码 一个强制弹窗代码 /**

网页上看不到图片的解决方法步骤

网页上看不到图片的解决方法步骤 先换一个正规的大站,看下网页图片能否显示,如果依然不行,请查看下本地电脑是否网络过慢,很多时候由于我们电脑的上网速 度很慢,就很容易导致网页图片不能显示出来。我们可以自己测试 下网速,另外一种情况是只是某些网站图片不能显示,那么多半是 网站问题,一般是网页本身或者网站所在服务器速度慢的原因。 适合于以上方法都排除之后依然不能显示图片使用。如果说是浏览器设置的问题,多半是因为禁用了错误禁用了某些插件导致的网 页中图片无法显示,那么可以在IE中进行设置,将需要启用的插件 进行还原,在桌面上右击“InternetExplorer”,选择“属性”, 点击“程序”标签页,在“管理加载项”中将禁用的插件再恢复, 这样就可以解决网页中图片无法显示的问题了。 首先第一个我们先确定网页是不是设置了不显示图片,我们点击浏览器右上角的“工具”-“Internet选项”!然后切换到“高级”!往下拖到多媒体里面就有一个显示图片的选项!这前面需要划勾!! 接下来我们来检测一下flashplayer版本是不是最新的。检测方法。点击开始然后选择控制面板!在控制面板里面找到flashplayer、双击进入切换到高级选项。然后点击立即检测即可。如果不是最新 的就更新一下!! 然后我们点击浏览器右上角的工具。选择管理加载项!!启用shockwaveflash0bject-然后点击确定确定 如果不行我们就把浏览器的安全级别调低一点!!点击浏览器右上角的工具。选择Internet选项。然后切换到安全。把级别调到低。 或者是中等!!

我们打开网页非常慢就可能网速不稳定的原因导致的!!我们可以弄个网速测试的小工具来查看一下那个软件占用了大量的网速。我们把这个限制或者是结束!! 最后如果还不行我们可以下载一个电脑管家。来诊断一下!!或者是用电脑管家来修复一下IE。。即可解决!!

javascript常用代码大全

Javascript常用代码大全 //打开模式对话框 //返回模式对话框的值 function okbtn_onclick() { var commstr=''; window.returnValue=commstr; window.close() ; } okbtn_onclick() //全屏幕打开IE 窗口 var winWidth=screen.availWidth ; var winHeight=screen.availHeight-20; window.open("main.aspx","surveyWindow","toolbar=no,wid th="+ winWidth +",height="+ winHeight +",top=0,left=0,scrollbars=yes,resizable=yes,center:yes,statu sbars=yes"); //脚本中中使用xml function initialize() { var xmlDoc var xslDoc xmlDoc = new ActiveXObject('Microsoft.XMLDOM') xmlDoc.async = false; xslDoc = new ActiveXObject('Microsoft.XMLDOM') xslDoc.async = false; xmlDoc.load("tree.xml") xslDoc.load("tree.xsl") folderTree.innerHTML = xmlDoc.documentElement.transformNode(xslDoc) } 一、验证类 1、数字验证内 1.1 整数 1.2 大于0的整数(用于传来的ID的验证) 1.3 负整数的验证 1.4 整数不能大于iMax 1.5 整数不能小于iMin 2、时间类 2.1 短时间,形如(13:04:06) 2.2 短日期,形如(2003-12-05) 2.3 长时间,形如(2003-12-05 13:04:06) 2.4 只有年和月。形如(2003-05,或者2003-5) 2.5 只有小时和分钟,形如(12:03) 3、表单类 3.1 所有的表单的值都不能为空 3.2 多行文本框的值不能为空。 3.3 多行文本框的值不能超过sMaxStrleng 3.4 多行文本框的值不能少于sMixStrleng 3.5 判断单选框是否选择。 3.6 判断复选框是否选择. 3.7 复选框的全选,多选,全不选,反选 3.8 文件上传过程中判断文件类型 4、字符类 4.1 判断字符全部由a-Z或者是A-Z的字字母组成 4.2 判断字符由字母和数字组成。 4.3 判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母 4.4 字符串替换函数.Replace(); 5、浏览器类 5.1 判断浏览器的类型 5.2 判断ie的版本 5.3 判断客户端的分辨率 6、结合类 6.1 email的判断。 6.2 手机号码的验证 6.3 身份证的验证 二、功能类 1、时间与相关控件类 1.1 日历 1.2 时间控件 1.3 万年历 1.4 显示动态显示时钟效果(文本,如OA中时间) 1.5 显示动态显示时钟效果(图像,像手表) 2、表单类 2.1 自动生成表单 2.2 动态添加,修改,删除下拉框中的元素 2.3 可以输入内容的下拉框 2.4 多行文本框中只能输入iMax文字。如果多输入了,自动减少到iMax个文字(多用于短信发送) 3、打印类 3.1 打印控件 4、事件类 4.1 屏蔽右键 4.2 屏蔽所有功能键 4.3 --> 和<-- F5 F11,F9,F1 4.4 屏蔽组合键ctrl+N 5、网页设计类 5.1 连续滚动的文字,图片

web前端基础知识

2012-5-15 [成就源于整理] | oush [深圳残 友动漫] 静态页面效果代码

目录 1.获取当前日期和星期 (2) 2.繁简中文转换 (2) 3.支持ff和ie的滤镜效果样式 (2) 4.让ie6实现li的hover事件代码 (3) 5.首页菜单效果 (3) 6.鼠标经过时菜单显示不一样的背景js (5) 7.banner效果 (6) 8.兼容两种浏览器,通常方法 (6) 9.用样式实现div的圆角 (7) 10.如何在ie6及更早浏览器中定义小调试的容器 (7) 11. 如何解决IE6及更早浏览器浮动时产生双倍边距的BUG (7) 12. 如何在IE6及更早浏览器下模拟min-height效果 (7) 13.如何解决按钮在IE7及更早浏览器下随着value增多两边留白也随着增加的问题.. 8 14.如何解决IE7及更早浏览器下当li中出现2个或以上的浮动时,li之间产生的空白间隙的BUG (8) 15.如何解决IE6下的文本溢出BUG (8) 16.如何使文本溢出边界显示为省略号 (8) 17. 如何使连续的长字符串自动换行 (9) 18.如何让已知高度的容器在页面中水平垂直居中 (9) 19. 如何做1像素细边框的table (9) 20. 如何在点文字时也选中复选框或单选框 (9) 21.渐变背景色css3 (9) 22.加载在线jquery (10) 23.鼠标经过时宽度加长 (10) 24.跳转下拉菜单 (10) 25.去除超链接虚线框 (10) 26.显示子菜单封装类 (10) 27. 实现图片延迟加载 (11) 28.动态获取当前时间 (11) 29.百度地图API,地图生成工具 (12) 30.返回到顶部 (12) 31.刷新页面的js方法 (13) 32.固定层div样式 (13) 33.高级样式 (13) 34.激活hasLayout (14)

IE浏览器网页部分图片无法显示、PNG图片无法显示的有效解决办法

最近电脑IE浏览器老是有部分图片显示红叉叉,于是上网找“IE图片红X“”IE部分图片无法显示”“网页部分图片无法显示”,始终没找到一个正确的办法解决问题。 正打算再下一个其他浏览器来试验下,发现网速又特别慢,只好一边下着,一边研究图片红X的特征。右键看图片链接属性,然后在IE 里面输入图片具体地址,图片同样显示的是红X,别人的电脑能显示,我的无法显示? 后来仔细一看,发现这些无法显示的图片后缀都是.png,于是上网找“PNG图片无法显示”,很顺利就搞定了。 方法如下:(我是使用的第一个方法就搞定了,刚开始的时候提示没有找到输入点,只好从网上下了个pngfilt.dll,然后运行命令,红X图片能显示了,说明还真是pngfilt.dll图片的问题,只是PNG图片显示效果很失真,我的电脑是XPSP3,我估计是文件版本没下对,就从之前的XPSP3系统GHO文件里面提取这个文件出来,Replacer替换之后,运行命令又提示无输入点,可我打开IE浏览网页的时候发现图片不失真了,晕!总之搞定pngfilt.dll文件就对了,看样子再一次替换SP3的dll文件之后可能不需再运行注册!) 方法一、使用开始——运行,在运行输入框中输入“regsvr32 c:\windows\system32\pngfilt.dll”(然后点击确定) 注意,这个pngfilt.dll在有的系统中是在 c:\windows\system中的,要自己查看一下这文件在哪里,根据自己的系统修改一下路径。如果在注册时出现“已加载 c:\windows\system32\pngfilt.dll,但没有找到DllRegisterSever 输入点。无法注册这个文件”,则表明这个文件可能损坏了,你要去别的机子去Copy一个好的过来。再进行一次注册。(也可以去网上下载一个pngfilt.dll,切记在覆盖原文件时一定要在系统的安全模式下,否则系统会不断还原,也可以使用Replacer等类似软件工具进行替换) 方法二、1、“开始”菜单——“ 运行”,在打开处输入“regsvr32 pngfilt.dll”——点“确定”。 2、“开始”菜单——“ 运行”,在打开处输入“regedit”——点“确定”打开注册表编辑。 3、找到HKEY_LOCAL_MACHINE/SOFTWARE/MICROSOFT/INTERNET EXPLORER/EMBEDEXTNTOCLSIDMAPPINGS 文件夹(左边) 点“EMBEDEXTNTOCLSIDMAPPINGS”看其子文件夹里有没有“.PNG” 4、假若没有“.PNG”文件夹,则选定“EMBEDEXTNTOCLSIDMAPPINGS”文件夹,指着它点鼠标右键——新建“项”——将新建文件夹命名为“.png”——选定新建的“.png”——在右边栏空白处,点鼠标右键——新建“字符串值”——将新建“字符串值”命名为“clsid”(也可用重命名)——双击打开“clsid”——在“数值数据”填“02BF25D5——8C17——4B23——BC80——D3488ABDDC6B”——点“确定”即可。 5、关闭IE浏览器,重新打开IE,这时png图片就能正常显示了。 方法三、开始——运行,在运行输入框中输入“Regedit”,到这个路径 “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Accepted Documents”,在右边右键“新建”——“字符串值” 紧接着最大的数字命名,我这里是3,故命名为4,并赋值为“image/png” 文件丢失,pngfilt.dll是个关键文件,应该在c:\windows\system32\路径下,此文件丢失会引起该故障。 2 文件注册项损坏,如果pngfilt.dll文件如果存在,那么可能是注册项丢失。使用开始->运行,在运行输入框中输入“regsvr32 c:\windows\system32\pngfilt.dll”(然后点击确定)。 我搜索了一下机器,发现该文件存在却不在system32路径下,于是copy过去解决。 昨天开机发现我的IE出了故障,浏览很多图片的时候无法显示,很是郁闷,思索了半天也没有找到有效的办法,后来只好GOOGLE之,这时候发现一篇文章,给了我很大帮助。特转载如下,一些地方稍作修改,以求新手更加明白,希望原作者见谅。原文地址可以在梁宏舍的专栏找到,点击进入。

JS中的常用语句

1.document.write( " "); 输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是:document- >html- >(head,body) 4.一个浏览器窗口中的DOM顺序是:window- >(navigator,screen,history,location,document) 5.得到表单中元素的名称和值:document.getElementById( "表单中元素的ID號 ").name(或value) 6.一个小写转大写的JS: document.getElementById( "output ").value = document.getElementById( "input ").value.toUpperCase(); 7.JS中的值类型:String,Number,Boolean,Null,Object,Function 8.JS中的字符型转换成数值型:parseInt(),parseFloat() 9.JS中的数字转换成字符型:( " " 变量) 10.JS中的取字符串长度是:(length) 11.JS中的字符与字符相连接使用號. 12.JS中的比较操作符有:==等于,!=不等于, >, >=, <. <= 13.JS中声明变量使用:var来进行声明 14.JS中的判定语句结构:if(condition){}else{} 15.JS中的循环结构:for([initial expression];[condition];[upadte expression]) {inside loop} 16.循环中止的命令是:break 17.JS中的函数定义:function functionName([parameter],...){statement[s]} 18.当文件中出现多个form表单时.可以用document.forms[0],document.forms[1]来代替. 19.窗口:打开窗口window.open(), 关闭一个窗口:window.close(), 窗口本身:self 20.状態栏的设置:window.status= "字符 "; 21.弹出提示信息:window.alert( "字符 "); 22.弹出確认框:window.confirm(); 23.弹出输入提示框:window.prompt(); 24.指定当前显示链接的位置:window.location.href= "URL " 25.取出窗体中的所有表单的数量:document.forms.length 26.关闭文档的输出流:document.close(); 27.字符串追加连接符: = 28.创建一个文档元素:document.createElement(),document.createTextNode() 29.得到元素的方法:document.getElementById() 30.设置表单中所有文本型的成员的值为空: var form = window.document.forms[0] for (var i = 0; i

JS实例网页上图片延迟加载的JS代码

大家如果使用firebug去查看的话就会发现,当你滚动到相应的行时,当前行的图片才即时加载的,这样子的话页面在打开只加可视区域的图片,而其它隐藏的图片则不加载,一定程序上加快了页面加载的速度,对于比较长的页面来说,这个方案是比较好的。 实现原理 把所有需要延时加载的图片改成如下的格式: 然后在页面加载时,把所有使用了lazy_src的图片都保存到数组里,然后在滚动时计算可视区域的top,然后把延时加载的图片中top小于当前可视区域(即图片出现在可视区域内)的图片的src的值用lazy_src的来替换(加载图片) 代码 lazyLoad=(function() { var map_element = {}; var element_obj = []; var download_count = 0; var last_offset = -1; var doc_body; var doc_element; var lazy_load_tag; function initVar(tags) { doc_body = document.body; doc_element = https://www.360docs.net/doc/27409945.html,patMode == 'BackCompat' ? doc_body: document.documentElement; lazy_load_tag = tags || ["img", "iframe"]; }; function initElementMap() { var all_element = []; //从所有相关元素中找出需要延时加载的元素 for (var i = 0, len = lazy_load_tag.length; i < len; i++) { var el = document.getElementsByTagName(lazy_load_tag[i]); for (var j = 0, len2 = el.length; j < len2; j++) { if (typeof(el[j]) == "object" && el[j].getAttribute("lazy_src")) { element_obj.push(all_element[key]); } } } for (var i = 0,

《在网页中插入图片》教案

教案背景: 《在网页中插入图片》是配合我区信息技术课题《学案引导下信息技术高效互动课堂的构建》开的一堂研讨课。本课以学案引导为教学手段,引导学生自主学习在网页中插入图片的方法。本课在调查了解学生现有能力的基础上,充分尊重学生个体差异、以学定教,采用任务驱动、自主探究,同伴互助的学习方式打造有效的课堂教学氛围。 教学课题: 《在网页中插入图片》 教材分析: 网页制作是《小学生学电脑》(凤凰出版传媒集团江苏科学技术出版社)第十一册的内容,是在学生学习了网络基本知识、WORD之后的一个内容。本课是学生在初步学习FrontPage软件,会制作文字个人主页的基础上,学习用插入图片的方法来美化网页,培养学生的美感和团结互助,共同进步的人文精神。 教学方法: 学案引导,学生自主学习

把WORD软件的相关操作与FRONTPAGE联系起来,通过学生熟悉的WORD学习FRONTPAGE,达到的学习效果还不错。为了激发学生对网页制作的兴趣,这节课由两张的视觉对比引入,让学生知道我们每个人都可以做出这样精美的网页。课堂上我们所归纳出的网页中插入图片的方法是来自于学生的探索。这节课中在学生掌握了一些网页制作的方法后,我占用大量的时间给学生打造了一个自由创作的空间,在我准备的资源中除了有给学生自主学习的学习助手外,还有针对“苏州园林”的素材,每个园林的介绍对应着图片和文字内容,以帮助孩子利用学案和准备好的素材进行自主学习。

《在网页中插入图片》学习助手 班级:姓名: 学习帮助一: 在FRONTPAGE中插入图片的方法和我们以前学过的在WORD中插入图片的方法相似,试试“插入”菜单,看看下面有什么选项。试一试在“苏州园林”网页中为“拙政园”配上一张合适的图片。 “插入”——“图片”——“来自文件” 学习帮助二: 插入的图片太大,我们应该怎么操作呢?想想在WORD中是怎么操作的。把“拙政园”的插图调整到合适的大小。 通过缩放来调整图片大小。 学习帮助二: 图片的位置不对,我们在WORD中是怎么操作的,还用这样的方法操作可行吗?请你试一试,为“拙政园”的插图设置居中、左对齐和右对齐的位置,看看哪种方式比较合适。 网页中的图片不能像在WORD中一样通过鼠标拖动和改变环绕方式来调整位置,我们可以通过“左对齐、居中、右对齐”的工具按钮来设置图片的位置。 学习记录表: (根据你的学习情况,把“√”复制到对应的完成度中)

网页上的图片不显示的解决方法

网页上的图片不显示的解决方法 方法1、 原因是你的阻挡了所有网站COOKIES,导致对方无法读取你的COOKIES,所以无法显示验证码图框。另外有些网站的验证码采用FLASH形式显示,这要装Adobe Flash Player ActiveX插件的,不安装可能都是显示“X”。 1、打开IE浏览器→工具→Inter net选项→隐私(设置为低)→确定,保存退出 2、打开IE浏览器→工具→Internet选项→高级→在“显示图片”的框框打√,或直接“恢复默认值”。

3、下载Adobe Flash Player ActiveX控件(请使用右键迅雷下载)进行独立安装,然后重启电脑。 方法2、 开始->运行,

在运行输入框中输入“regsvr32 c:\windows\system32\pngfilt.dll”(不包含双引号) 然后点击确定,如果在出现“已加载c:\windows\system32\pngfilt.dll,但没有找到DllRegisterSever 输入点,无法注册这个文件”,则表明这个文件可能损坏了 你要去别的机子去Copy一个好的过来(也可以来这个网站下载: https://www.360docs.net/doc/27409945.html,/tool/dll.asp)

再进行一次注册,即:开始->运行,在运行输入框中输入“regsvr32 c:\windows\system32\pngfilt.dll”(不包含双引号),如果出现“c:\windows\system32\pngfilt.dll 中的DllRegisterServer 成功” 说明问题已经解决了。 如果在覆盖“pngfilt.dll”文件时,提示“无法复制PNGFILT:文件正被另一个人或程序使用。关闭任何可能使用这个文件的程序,重新试一次。”,就把“c:\windows\system32\pngfilt.dll”这个文件用文件粉碎机粉碎掉,然后把新的“pngfilt.dll”文件粘贴过来就OK了! 方法3、 一些要求身份验证的网站使用在ASP中动态生成xbm格式图片的方法来显示验证码,但xp sp2默认设置不支持xbm格式图片。 新建文本文件~~把下面文字复制到文件中~~把文本文件改名为“xx.reg”文件,导入即可解决问题。 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Security] "BlockXBM"=dword:00000000

js异步加载

js异步加载: 关键词:异步加载(async loading),延迟加载(lazy loading),延迟执行(lazy execution),async 属性,defer 属性 一、同步加载与异步加载的形式 1. 同步加载 我们平时最常使用的就是这种同步加载形式: 同步模式,又称阻塞模式,会阻止浏览器的后续处理,停止了后续的解析,因此停止了后续的文件加载(如图像)、渲染、代码执行。 js 之所以要同步执行,是因为js 中可能有输出document 内容、修改dom、重定向等行为,所以默认同步执行才是安全的。 以前的一般建议是把 然后,用(注意不是openwin而是loadpop啊!)替换主页面中原有的这一句即可。你可以试着刷新一下这个页面或重新进入该页面,窗口再也不会弹出了。真正的pop-only-once! 写到这里弹出窗口的制作和应用技巧基本上算是完成了,俺也累坏了,一口气说了这么多,希望对正在制作网页的朋友有所帮助俺就非常欣慰了。 需要注意的是,js脚本中的的大小写最好前后保持一致。 3.一个强制弹窗代码 一个强制弹窗代码 /** * 用本程序弹出的窗口将不会被广告拦截软件拦截,但有一个缺点:你无法象对window.open 弹出的窗口那样对外观进行定制。 * 你当然也可以在使用前实例化一个ForceWindow对象: * var myWindow = new ForceWindow();

黑马程序员mybatis教程第二天:延迟加载

延迟加载 什么是延迟加载 resultMap可以实现高级映射(使用association、collection实现一对一及一对多映射),association、collection具备延迟加载功能。 需求: 如果查询订单并且关联查询用户信息。如果先查询订单信息即可满足要求,当我们需要查询用户信息时再查询用户信息。把对用户信息的按需去查询就是延迟加载。 延迟加载:先从单表查询、需要时再从关联表去关联查询,大大提高数据库性能,因为查询单表要比关联查询多张表速度要快。 使用association实现延迟加载 需求 查询订单并且关联查询用户信息 mapper.xml 需要定义两个mapper的方法对应的statement。 1、只查询订单信息 SELECT * FROM orders 在查询订单的statement中使用association去延迟加载(执行)下边的satatement(关联查询用户信息) 2、关联查询用户信息 通过上边查询到的订单信息中user_id去关联查询用户信息

使用UserMapper.xml中的findUserById 上边先去执行findOrdersUserLazyLoading,当需要去查询用户的时候再去执行findUserById,通过resultMap的定义将延迟加载执行配置起来。 延迟加载resultMap 使用association中的select指定延迟加载去执行的statement的id。

相关文档
最新文档