分类 前端笔记 下的文章

内容归于原作者:https://blog.csdn.net/qq_36663526/article/details/107449035

以下内容只做转载,避免后期文章失效

今天使用vue-awesome-swiper的时候报错:
在这里插入图片描述
请输入图片描述
搞了很久 发现错得很让人吐血~!…
我安装的版本:

  "dependencies": {
    "core-js": "^3.6.5",
    "swiper": "^6.0.4",
    "vue": "^2.6.11",
    "vue-awesome-swiper": "^4.1.1",
    "vue-router": "^3.2.0"
  },

官方说明了安装6.0版本的话需要引入另外一个css

// If you use Swiper 6.0.0 or higher
import 'swiper/swiper-bundle.css'

但是可能我是瞎了 没看见。引入的是这个:

// import style
import 'swiper/css/swiper.css'

所以如果Swiper版本是6.0以上就引入第一个就好!!!!!!!!

https://github.com/surmon-china/vue-awesome-swiper

【动态创建script来加载-推荐】

function loadJS( url, callback ){

var script = document.createElement('script'),

    fn = callback || function(){};

script.type = 'text/javascript';



//IE

if(script.readyState){

    script.onreadystatechange = function(){

        if( script.readyState == 'loaded' || script.readyState == 'complete' ){

            script.onreadystatechange = null;

            fn();

        }

    };

}else{

    //其他浏览器

    script.onload = function(){

        fn();

    };

}

script.src = url;

document.getElementsByTagName('head')[0].appendChild(script);

}

//用法

loadJS('file.js',function(){

alert(1);

});

引用:https://www.cnblogs.com/telwanggs/p/11045773.html

原文:https://www.cnblogs.com/010101-/p/10649026.html

通过css控制,可以实现加载网络图片时,未加载完成的时候显示本地一张占位图,加载完成后显示网络图片;

原理:通过在img标签的after伪元素上添加一张占位图,并且img都设置为position:relative;after设置position:absolute;img标签的src为网络图片,这样加载的时候由于网络图片没加载完成,就会显示本地图片,下面案例中的js是为了效果明显而故意延时设置img的src属性。

代码改版(将原作者的占位图改为padding-bottom)

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        img {
            position: relative;
            width: 100%;
            height: 100%;
        }
        
        img::after {
            content: "";
            height: 100%;
            width: 100%;
            position: absolute;
            left: 0;
            top: 0;
            background-color: #eee;
            padding-bottom: 100%;
        }
        div{
            width: 600px;
            height: auto;
        }
        
    </style>
</head>

<body>
    <div>
        <img src="">
    </div>
    
</body>
<script>
    setTimeout(function() {
        document.querySelectorAll("img")[0].src = 'https://img.kzcn.cc/600x600/c/0';
    }, 3000);
</script>

</html>