欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

基于jquery的一个懒加载组件

程序员文章站 2022-03-15 15:52:55
...
这次给大家带来基于jquery的一个懒加载组件,基于jquery的懒加载组件的注意事项有哪些,下面就是实战案例,一起来看一下。
<style lang="scss" type="text/scss" scoped>
    #home {
        background: rgba(245, 245, 245, .8);
        width: 1000px;
        margin: 0 auto;
        min-height: 500px;
        padding: 30px;

        .wrap {
            position: relative;
            width: 100%;
            height: 299px;

            box-sizing: border-box;
            overflow: hidden;
            background: #ffffff;
            margin-bottom: 10px;
            img {
                display: block;
                width: 60%;
                height: 60%;
                cursor: pointer;
                margin: 20px auto;
            }
            &:hover {
                transform: translate3d(0, -2px, 0);
                box-shadow: 0 15px 30px rgba(0, 0, 0, .1);
            }
            &:hover .child {
                /*animation:  moveup .2s  linear ;*/
                transition: all .2s linear;
                bottom: 0;
            }
            .child {
                position: absolute;
                bottom: -75px;
                left: 0;
                background: #ff6700;
                width: 100%;
                cursor: pointer;
                height: 75px;
                z-index: 1;
                p {
                    color: #ffffff;
                    line-height: 25px;
                    font-size: 14px;
                    text-align: center;
                    &:nth-child(1) {
                        font-size: 16px;
                        font-weight: 600;
                    }
                    &:nth-child(2) {

                    }
                }
            }
        }
    }</style><template>
    <div id="home" class=" ">
        <Row :gutter="10">
            <Col span="6" v-for="item in 100">
            <div
                class="wrap"
            >
                <img   alt="xiaomI" src="../../assets/imgs/dg.png" name="0">

                <div class="child">
                    <p>小米净水器(厨下式)</p>
                    <p>大流量直出纯净水,健康家庭必备</p>
                </div>


            </div>
            </Col>
        </Row>


    </div></template><script>
    import imgSrc from "./1.jpg";    export default {
        data () {            return {                msg: ""
            }
        },        computed: {},        props: [],        components: {},        methods: {            //加载当前视口
            loadingShiKou: function () {                let $imgs = $(".wrap img");                let seeHieight = $(window).height();                let scrollTop = $(window).scrollTop();

                $imgs.each(function (index, item) {                    let name =  $(item).attr("name") - 0; // 0 未加载 1 加载
                    if ( $(item).offset().top  < seeHieight + scrollTop) {                        if (name === 0) {
                            $(item).attr("name", 1);
                            setTimeout(function () {
                                $(item).attr("src", imgSrc);
                            },1000)
                        }
                    }
                })
            }

        },
        created () {

        },
        mounted () {            const huang = this;            this.loadingShiKou();
            $(document).scroll(function () {
                huang.loadingShiKou();

            })


        }

    }</script>

相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!

相关阅读:

VUE-CLI @2.9.1以后版本的问题

commonJS详解

用jq发送多个ajax然后执行回调的小技巧

以上就是基于jquery的一个懒加载组件的详细内容,更多请关注其它相关文章!