JS+CSS实现图片预加载与背景图上中下切图

 更新时间:2022年06月30日 11:13:12   作者:小旭2021  
这篇文章介绍了JS+CSS实现图片预加载与背景图上中下切图的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

图片预加载

为什么使用图片预加载

为什么会考虑使用图片预加载呢?你是否曾有个网站,在那个网站你要滚动你的导航然后有个延迟直到图片被加载完……预加载将在这方面帮助你。

它将在页面加载的时候加载那些图片并将其存储在浏览器的缓存里面。这样当用户滚动导航的时候,很漂亮而且流畅,没有延迟。

下面整理常用的图片预加载:

1.使用纯的css进行图片预加载

body:after {
    content: "";
    display: block;
    position: absolute;
    background:
    url("?image/manage/help/01.png") no-repeat -10000px -1000px,
    url("?image/manage/help/02.png") no-repeat -10000px -1000px,
    url("?image/manage/help/03.png") no-repeat -10000px -1000px,
    url("?image/manage/help/04.png") no-repeat -10000px -1000px,
    url("?image/manage/help/05.png") no-repeat -10000px -1000px,
    width: 0;
    height: 0
}

2.使用纯javascript进行图片预加载

(function(){
    var imgSrcArr = [
        'image/1.png',
        'image/2.png',
        'image/3.png',
        'image/4.png',
        'image/5.png',
        'image/6.png',
        'image/7.png'
    ];
    var imgWrap = [];
    function preloadImg(arr) {
        for(var i =0; i< arr.length ;i++) {
            imgWrap[i] = new Image();
            imgWrap[i].src = arr[i];
        }
    }
    setTimeout(function(){preloadImg(imgSrcArr)},5000)
}());

3.使用css+js方式进行图片预加载

css

.preload-img:after{
    content: "";
    display: block;
    position: absolute;
    background:
    url("?image/manage/help/01.png") no-repeat -10000px -1000px,
    url("?image/manage/help/02.png") no-repeat -10000px -1000px,
    url("?image/manage/help/03.png") no-repeat -10000px -1000px,
    url("?image/manage/help/04.png") no-repeat -10000px -1000px,
    url("?image/manage/help/05.png") no-repeat -10000px -1000px,
    width: 0;
    height: 0
}

js

/*
    比如我们写了上面的这样一个类,但是页面中没有用到,我们在文档加载完毕之后,给某个元素添加该类
*/
 $("#target").addClass("preload-img")

背景图上中下切图方案

工作中经常会遇到将背景图切为三个部分: 上部、中部、下部。

上部和下部:上部和下部使用容器的多背景图实现。

中部:使用绝对定位容器的方式解决。

html部分:

<section class="content-wrap">
     <div class="line-wrap">
     </div>
     <p>我是内容</p>
</section>

css部分:

.content-wrap{
    position: relative;
    background:url('?images/top-bg.png') left top no-repeat,
    url('?images/bottom-bg.png') left bottom no-repeat;
    background-size:100% auto;
    .line-wrap{
        position: absolute;left:0;top:4.8rem;bottom:2.73rem;z-index:-1;
        width:100%;
        background:url('?images/middle-bg.png') left top repeat-y;
        background-size:100% auto;
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持程序员之家。

相关文章

  • jQuery插件开发发送短信倒计时功能代码

    jQuery插件开发发送短信倒计时功能代码

    最近项目开发中遇到这样的功能:1.点击按钮的时候,可以进行倒计时,倒计时自定义.2.当接收短信失败后,倒计时停止,可点击重新发送短信.3.点击的元素支持一般标签和input标签。看似很复杂其实实现代码很简单,下面小编给大家分享下实现代码,需要的朋友参考下吧
    2017-05-05
  • 基于jquery的tab切换 js原理

    基于jquery的tab切换 js原理

    基于jquery的tab切换 使用的是js的原理。绑定鼠标经过事件实现的。
    2010-04-04
  • jQuery多条件筛选如何实现

    jQuery多条件筛选如何实现

    这篇文章主要介绍了jquery实现多条件筛选特效,推荐给大家,有需要的小伙伴可以参考下。
    2015-11-11
  • 详解jQuery-each()方法

    详解jQuery-each()方法

    这篇文章主要介绍了jQuery-each()方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • jQuery制作的别致导航有阴影背景高亮模式窗口

    jQuery制作的别致导航有阴影背景高亮模式窗口

    jQuery制作导航,在网上可以搜到很多方法,但比较别致一点的就不多了,本文这个别致是指有阴影背景高亮模式窗口
    2014-04-04
  • jQuery实现验证年龄简单思路

    jQuery实现验证年龄简单思路

    本文给大家分享的是jQuery实现验证年龄简单思路,让用户填出生年月,然后根据当前时间计算是否小于网站要求的年龄,小于就提示,有需要的小伙伴可以拿去直接使用。
    2016-02-02
  • jQuery1.3.2 升级到jQuery1.4.4需要修改的地方

    jQuery1.3.2 升级到jQuery1.4.4需要修改的地方

    jQuery1.3.2 升级到 1.4.4 ,需要修改的地方,需要的朋友可以参考下。
    2011-01-01
  • jQuery模仿京东/天猫商品左侧分类导航菜单效果

    jQuery模仿京东/天猫商品左侧分类导航菜单效果

    在京东或者是天猫上可以看到左侧分类导航菜单,当鼠标滑过导航分类时,会出现详细分类模块,鼠标移开就会恢复默认样式,下面小编给大家带来了基于 mouseenter()和mouseleave()实现仿京东/天猫商品左侧分类导航菜单效果,一起看看吧
    2016-06-06
  • jQuery Tools tab使用介绍

    jQuery Tools tab使用介绍

    jQuery Tools tab使用介绍,需要的朋友可以参考下
    2012-07-07
  • form表单只提交数据而不进行页面跳转的解决方案

    form表单只提交数据而不进行页面跳转的解决方案

    将数据提交到saveReport(form的action指向)页面,但是页面又不进行跳转,即保持当前页面不变呢?利用jquery的ajaxSubmit函数以及form的onsubmit函数完成
    2013-09-09

最新评论

?


http://www.vxiaotou.com