Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将AOS.js与类而不是数据属性一起使用_Javascript_Jquery_Html_Animate On Scroll_Aos.js - Fatal编程技术网

Javascript 将AOS.js与类而不是数据属性一起使用

Javascript 将AOS.js与类而不是数据属性一起使用,javascript,jquery,html,animate-on-scroll,aos.js,Javascript,Jquery,Html,Animate On Scroll,Aos.js,我想在我的站点上使用AOS.js,但我没有选择向页面的div添加必要的数据属性 以下是文档中的标记: 有什么想法吗?你可以试试这个片段: <script> function ismatch(str){ var ret = null; var tab = ['data-aos_', 'data-aos-delay_', 'data-aos-duration_', 'data-aos-easing_'];

我想在我的站点上使用AOS.js,但我没有选择向页面的div添加必要的数据属性

以下是文档中的标记:


有什么想法吗?

你可以试试这个片段:

<script>
        function ismatch(str){
            var ret = null;
            var tab = ['data-aos_', 'data-aos-delay_', 'data-aos-duration_', 'data-aos-easing_'];
            Object.values(tab).forEach( function (value) {
                if (String(str).match(value)){
                    ret = str.split('_');
                    return false;
                }
            });
            return ret;
        }
        jQuery(document).ready(function ($) {
            $('.some-class').each(function () {
                var $this = $(this);
                var tab = $this.attr('class').split(' ');
                var keep;
                Object.values(tab).forEach(function (item) {
                    var ello = ismatch(item) 
                    if (ello !== null)
                        $this.attr(ello[0], ello[1]);
                    });
                    
                });
                AOS.init();
            });                     
    </script>
用法:

<div class="some-class data-aos_fade-down data-aos-delay_100 data-aos-duration_800"></div>```

通过快速查看github和源代码中的问题,它似乎只使用DataAOS属性工作。如果您更愿意使用类,您可以在repo中创建一个问题,或者自己修改代码。最后,如果您使用jQuery,您还可以看看scroll magic。
$('.aos-fade-up').each(function(i) {
    $(this).attr('data-aos', 'fade-up');
});
<script>
        function ismatch(str){
            var ret = null;
            var tab = ['data-aos_', 'data-aos-delay_', 'data-aos-duration_', 'data-aos-easing_'];
            Object.values(tab).forEach( function (value) {
                if (String(str).match(value)){
                    ret = str.split('_');
                    return false;
                }
            });
            return ret;
        }
        jQuery(document).ready(function ($) {
            $('.some-class').each(function () {
                var $this = $(this);
                var tab = $this.attr('class').split(' ');
                var keep;
                Object.values(tab).forEach(function (item) {
                    var ello = ismatch(item) 
                    if (ello !== null)
                        $this.attr(ello[0], ello[1]);
                    });
                    
                });
                AOS.init();
            });                     
    </script>
<div class="some-class data-aos_fade-down data-aos-delay_100 data-aos-duration_800"></div>```