AngularJS:使用css媒体查询进行屏幕调整大小

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AngularJS:使用css媒体查询进行屏幕调整大小相关的知识,希望对你有一定的参考价值。

我有一个现有的CSS,当屏幕调整到一定大小时,它会进行媒体查询并显示一个消息框。我希望消息框在5秒后消失。

知道如何在AngluarJs做到这一点?

CSS:

@media all and (max-width: 1024px), all and (max-height: 760px) {
  div#bestview {
    display: block;
    position:fixed;
    z-index: 9999; /* above everything else */
    top:0;
    left:0;
    bottom:0;
    right:0;
    background-image: url(../img/transpBlack75.png);
  }
}

html

<div id="bestview">The selected browser size is not optimal for.....</div>
答案

你可以这样做 :

    // make a directive in your app : 

    youApp.directive('hideme',function(){
       return{
          restrict:'A',
          link:function(scope,elem,att){
             var timeout = att.hideme*1; // *1 to convert it to integer:(
             setTimeout(function(){
                 elem.addClass('hidden');
              },timeout);
          }
       }
     });

     // in your css : 

       .hidden{
         display:none
     }

     // in your html:

     <div hideme="5000" id="bestview">The selected browser size is not optimal for.....</div>
另一答案

我做的与xe4me给出的答案略有不同。我想我仍然会发布我在这里所做的事情:

CSS:

@media all and (max-width: 1024px),
       all and (max-height: 760px) {
    div#bestview {
      display: block;
      position: fixed;
      z-index: 9999; /* above everything else */
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      background-image: url(../img/transpBlack75.png);
    }
  }

AngularJS:

app.directive('bestView', function($timeout) {
  return {
    restrict: 'A',
    link: function(scope, elem, attr, ctrl) {
      scope.$watch(
        function() {
          return elem.is(':visible');
        },
        function(newval) {
          if(newval == true) {
            $timeout(function() {
              elem.remove();
            }, 5000); //disappear after 5 seconds
          }
        }
      );
    }
  };
});

HTML:

<div id="bestview" best-view>The selected browser size is not optimal for.....</div>

以上是关于AngularJS:使用css媒体查询进行屏幕调整大小的主要内容,如果未能解决你的问题,请参考以下文章

CSS 媒体查询 - 对重叠和顺序感到困惑

调整屏幕大小时出现媒体查询错误

css3 -- 媒体查询

使用PhoneGap时css媒体查询不起作用

带有纯 CSS3 媒体查询的 IE9 响应式图像调整大小问题

使用媒体查询在调整窗口大小期间隐藏 div