禁用某个屏幕宽度的javascript脚本

时间:2017-03-23 21:00:24

标签: javascript svg mobile responsive-design

是否可以编写以特定屏幕分辨率关闭脚本的脚本?我有这些svg在480px下不能正常工作,我想关闭它们。我对此非常陌生。任何帮助都会很棒。

<script>
        (function() {

            function init() {
                var speed = 250,
                    easing = mina.easeinout;

                [].slice.call ( document.querySelectorAll( '#grid > .container > .row .activities_home > a' ) ).forEach( function( el ) {
                    var s = Snap( el.querySelector( 'svg' ) ), path = s.select( 'path' ),
                        pathConfig = {
                            from : path.attr( 'd' ),
                            to : el.getAttribute( 'data-path-hover' )
                        };

                    el.addEventListener( 'mouseenter', function() {
                        path.animate( { 'path' : pathConfig.to }, speed, easing );
                    } );

                    el.addEventListener( 'mouseleave', function() {
                        path.animate( { 'path' : pathConfig.from }, speed, easing );
                    } );
                } );
            }



            init();

        })();
    </script>

1 个答案:

答案 0 :(得分:0)

您可以将事件监听器附加到文档DOMContentLoaded和窗口resize事件,以查询屏幕分辨率(window.innerWidthwindow.innerHeight属性)。

如果分辨率低于断点,则可以从每个路径中删除事件侦听器(为了这样做,您需要对该函数的引用)。

如果您不需要处理调整大小事件,并且只是想根据分辨率最初禁用脚本,那么您可以执行一些简单的操作,例如替换:

init();

if (window.innerWidth > 480)
  init();