老师帮我看下代码 报错了 不知道哪里出问题

来源:2-5 用css3实现淡入淡出效果(2)

琥珀_2020

2019-12-25 10:01:41

<!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>显示隐藏模块</title>
    <link rel="stylesheet" href="./css/base.css">
    <style>
        body {
            /* position: relative; */
            width: 400px;
            margin: 0 auto;
        }

        .btn {
            width: 50%;
            height: 30px;
        }
       

        #box {
            display: none;
            width: 100%;
            height: 200px;
            background-color: red;
        } 
        .transiton {
            transition: all 0.5s;
        }
        .fadeOut {
            visibility: hidden !important;
            opacity: 0 !important;
        }
    </style>
</head>

<body> 

    <button id="btn-show" class="btn">显示</button><button id="btn-hide" class="btn">隐藏</button>

    <div id="box" class="">
    </div>
    <button class="btn btn2">显示2</button>

    <script src="./js/jquery.js"></script>
    <script src="./js/showHide.js"></script>
    <script>
        // <script src="./js/showHide.js">
        var $box = $('#box');
        // silent.init($box);
        css3.fade.init($box);

        $('#btn-show').on('click', function () {
            css3.fade.show($box);
        });

        $('#btn-hide').on('click', function () {
            css3.fade.hide($box);
        })
        // 发布订阅的方式
        // 小A
        $box.on('show shown hide hidden', function (e) {
            console.log(e.type);
        });

        // $box.on('click', function(){
        // })
    </script>

</body>

</html>
function init($elme, hiddenCallback) {
    if ($elem.is(':hidden')) {
        $elem.data('status', 'hidden');
        if (typeof hiddenCallback === 'function') hiddenCallback();
        $elem.addClass('fadeOut');
    } else {
        $elem.data('status', 'shown');
    }
}

function show($elem, callback) {
    if ($elem.data('status') === 'show') return;
    if ($elem.data('status') === 'shown') return;
    $elem.data('status', 'show').trigger('show');
    callback();
}

function hide($elem, callback) {
    if ($elem.data('status') === 'hide') return;
    if ($elem.data('status') === 'hidden') return;
    $elem.data('status', 'hide').trigger('hide');
    callback();
}

var silent = {
    init: init,
    show: function ($elem) {
        show($elem, function () {
            $elem.show();
            $elem.data('status', 'shown').trigger('shown');
        });
    },
    hide: function ($elem) {
        hide($elem, function () {
            $elem.hide();
            $elem.data('status', 'hidden').trigger('hidden')
        });
    }
};
var css3 = {
    fade: {
        init: function ($elem) {
            $elem.addClass('transiton');
            init($elem, function () {
                $elem.addClass('fadeOut');
            })
        },
        show: function ($elem) {
            show($elem, function () {
                $elem.off('transitionend').one('transitionend', function () {
                    $elem.data('status', 'shown').trigger('shown');
                });
                $elem.show();
                setTimeout(function () {
                    $elem.removeClass('fadeOut');
                }, 20)
            });
        },
        hide: function ($elem) {
            hide($elem, function () {
                $elem.off('transitionend').one('transitionend', function () {
                    $elem.hide();
                    $elem.data('status', 'hidden').trigger('hidden');
                })
                $elem.addClass('fadeOut');
            });
        }
    },

    slideUpDown: {
        show: function () {

        },
        hide: function () {

        }
    },

    slideLeftRight: {
        show: function () {

        },
        hide: function () {

        }
    },

    fadeSlideUpDown: {
        show: function () {

        },
        hide: function () {

        }
    },

    fadeSlideLeftRight: {
        show: function () {

        },
        hide: function () {

        }
    }
};
var js = {
    fade: {
        show: function () {

        },
        hide: function () {

        }
    },
    slideUpDown: {
        show: function () {

        },
        hide: function () {

        }
    },
    slideLeftRight: {
        show: function () {

        },
        hide: function () {

        }
    },
    fadeSlideUpDown: {
        show: function () {

        },
        hide: function () {

        }
    },
    fadeSlideLeftRight: {
        show: function () {

        },
        hide: function () {

        }
    }
};


写回答

1回答

琥珀_2020

提问者

2019-12-25

找到问题了   不好意思  拼写错误

function init($elme, hiddenCallback) {
    if ($elem.is(':hidden')) {
        $elem.data('status', 'hidden');
        if (typeof hiddenCallback === 'function') hiddenCallback();
        $elem.addClass('fadeOut');
    } else {
        $elem.data('status', 'shown');
    }
}

elem写成了 elme  下次注意 OxO

0

0 学习 · 14456 问题

查看课程