<style>
*{
margin: 0;padding: 0;
list-style: none;
}
body{
background: black;
}
.outer{
margin: 10px auto;
border: 1px solid white;
border-radius: 6px;
background-color: white;
width: 200px;
padding: 8px 6px 6px 8px;
}
.outer>ul{
overflow: hidden;
} .outer>ul>li, .outer>ul>li>img{
/* 两个部分设置内容一样,选择器写在一起。 */
float: left;
width: 48px;
height: 48px;
/* li的宽高不能直接由内部img撑起? */ margin: 0 2px 2px 0;
}
/* .outer>ul>li>img{
width: 48px;
height: 48px;
} */
.outer>ul>li:nth-child(1){
position:relative;
/* 相对定位,子绝父相,给后面的loading动态图div使用。 */
}
.outer>ul>li:nth-child(1), .outer>ul>li:nth-child(1)>img{
/* 两个部分设置内容一样,选择器写在一起。 */
width: 148px;
height: 148px;
} .outer>li.first div{
position:absolute;top:0;left:0;
width:156px;height:156px;
display:none;
opacity:0.5;filter:alpha(opacity=50);
background:#fff url(img/loading.gif) 50% 50% no-repeat;
/* 给第一个大图li加一个空div,添加loading的背景图。 让图片加载时,显示加载动图 */
}
</style> <script>
window.onload = function()
{
// var aImg = document.getElementsByTagName('img'); // for(let i=0; i<aImg.length; i++)
// {
// aImg[i].onmouseover = function()
// {
// aImg[0].src = this.src;
// };
// }; var oImg = document.getElementById("box").getElementsByTagName("img"); var oDiv = document.getElementsByTagName("div")[0];
// 给第一个大图li加一个空div,添加loading的背景图。 让图片加载时,显示加载动图。
for (var i = 1; i < oImg.length; i++)
{
oImg[i].onmouseover = function ()
{
var img = new Image(); img.src = oImg[0].src = this.src.replace(/small/,"big");
// replace(); 方法,用于在字符串中用一些字符替换另一些字符。
// 例如:
// var str="Visit Microsoft!"
// document.write(str.replace(/Microsoft/, "W3School"))
// 输出:Visit W3School! oDiv.style.display = "block"; img.complete ? oDiv.style.display = "none" : (oImg[0].onload = function() {oDiv.style.display = "none"})
// complete 通过Image对象的complete 属性来检测图像是否加载完成。
// onload 当图像装载完毕时调用的事件句柄。 // 所以上面这个三元表达式的意思是:
// img这个图片对象是否加载完成?
// 加载完成就让div的display为none。 没有加载完成,就调用img的onload事件,让它加载完成,然后运行function 让div的display为none。 // js Image()对象onload和预加载
// https://segmentfault.com/a/1190000011020722?utm_source=tag-newest
}
}
};
</script>

JS学习笔记 - fgm练习 2-11- 改变图片路径 var img = new Image(); 图片预加载的更多相关文章

  1. JS学习笔记 - fgm练习 - 鼠标移入/移出div样式改变

    思路: div的默认样式正常设置. 鼠标移入时,发生改变的样式有3个,即 边框颜色,div背景色,字体颜色. 把这三个css改变设置在一个类名下,再通过js给div动态 添加/去除这个类名,实现div ...

  2. JS学习笔记 - fgm练习 2-12- 全选反选 判断CheckBox是否选中 &&运算符

    练习地址:http://www.fgm.cc/learn/lesson2/12.html 总结: 1.  && 运算符,从左向右依次执行,如果遇到 false,就不再继续执行后面的语句 ...

  3. JS学习笔记 - fgm练习 2-5 - 函数传参 设置div样式

    练习地址:http://www.fgm.cc/learn/lesson2/05.html <script> window.onload = function(){ var oDiv = d ...

  4. JS学习笔记 - fgm练习 - 输入数字求和 正则replace onkeyup事件

    <style> body{font-size: 12px;} .outer{ width: 500px; margin: 0 auto; } span{ color: #999; } in ...

  5. JS学习笔记 - fgm练习 - 数字自增 定时器 数字比大小Math.max

    <script> window.onload = function(){ var oP = document.getElementsByTagName('p')[0]; var i = 0 ...

  6. JS学习笔记 - fgm练习 - 限制输入框的字符类型 正则 和 || 或运算符的运用 i++和++i

    <script> window.onload = function(){ var aInp = document.getElementsByTagName('input'); var oS ...

  7. JS学习笔记 - fgm练习 - 输入法下拉框 三元表达式

    <script> window.onload = function() { var oBtn = document.getElementsByTagName('input')[0]; va ...

  8. JS学习笔记 - fgm练习 - 网页换肤

    总结: 1. 点击按钮,div内部变色,边框保持颜色不变. 实现原理:其实本来就把background 和 border 分别设置了同一个颜色,看似是一个整体,其实本来就是分开的. 那么点击的时候,只 ...

  9. JS学习笔记 - fgm练习 - 多按钮控制同个div属性

    总结: 1. 注意body里的结构安排,全部装在大div,避免多次设置不同部分居中. 2. 一排按钮居中:装在大div里,text-align: center; 3. 把相同的部分封装成函数,即 同个 ...

随机推荐

  1. Struts2的token标签

    “token标签的实现原理是在表单中增加一个隐藏域,每次加载该页面时,该隐藏域的值都不相同.而TokenInterceptor拦截器则拦截所有用户请求,如果两次请求时该token对应隐藏域的值相同(前 ...

  2. PHP开发常规安全问题总结

    文章来源:PHP开发学习门户 地址:http://www.phpthinking.com/archives/575 php给了开发人员极大的灵活性,可是这也为安全问题带来了潜在的隐患,最近须要总结一下 ...

  3. Boolean operations between triangle meshes

    Boolean operations between triangle meshes eryar@163.com Abstract. Boolean operations is one of basi ...

  4. es62

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. FocusChange-焦点变化监听事件

    想要监听一个控件的焦点变化情况,发现了一个 view.setOnFocusChangeListener(new OnFocusChangeListener() { ...... } 现在写一个小dem ...

  6. Flat UI简介

    Flat UI简介 一.简介 Flat UI是基于Bootstrap之上进行二次开发的扁平化前端框架,他提供了动感.时尚的风格色调搭配,简洁.炫丽的功能组件,同时还提供了更为平滑的js交互动画,可以称 ...

  7. centos6.5 数据库的安装

    mongo https://www.cnblogs.com/layezi/p/7290082.html

  8. 如何优雅的写UI——(4)选项卡美化

    现在做出来的选项卡实在太丑的,咱们怎么把他弄得好看一点呢 tabctrl是可以添加icon图标的,那派生与tabctrl的mfctabctrl肯定也能添加图标,他们两个添加图标的原理一样,但是还是有点 ...

  9. 【Cocos2d-x 017】 多分辨率适配全然解析

    转:http://blog.csdn.net/w18767104183/article/details/22668739 文件夹从Cocos2d-x 2.0.4開始,Cocos2d-x提出了自己的多分 ...

  10. 在带(继承)TextView的控件中,在代码中动态更改TextView的文字颜色

    今天由于公司项目需求,须要实现一种类似tab的选项卡,当时直接想到的就是使用RadioGroup和RadioButton来实现. 这种方法全然没问题.可是在后来的开发过程中,却遇到了一些困扰非常久的小 ...