Polymer 聚合物中网页上的多个对话框

Polymer 聚合物中网页上的多个对话框,polymer,Polymer,我试图在同一页上显示多个对话框。这是我在一个页面上的android应用程序列表,我发现对话框的大小取决于窗口的大小。我需要他们不要在一起,但我不知道这是否可行 ... ... 我觉得我应该使用对话以外的东西\ 听起来好像您正在为每个应用程序描述寻找一个单独的提升容器,并且希望将这些容器放在一列中。如果是这样,我认为元素就是你想要的。卡可以是可刷卡的,也可以是静态卡 要在应用程序中安装,请执行以下操作: bower安装Polymer/Polymer-ui-card2。进口: 要导入: 如

我试图在同一页上显示多个对话框。这是我在一个页面上的android应用程序列表,我发现对话框的大小取决于窗口的大小。我需要他们不要在一起,但我不知道这是否可行


...
...

我觉得我应该使用对话以外的东西\

听起来好像您正在为每个应用程序描述寻找一个单独的提升容器,并且希望将这些容器放在一列中。如果是这样,我认为元素就是你想要的。卡可以是可刷卡的,也可以是静态卡

  • 要在应用程序中安装,请执行以下操作: bower安装Polymer/Polymer-ui-card2。进口:

  • 要导入:

  • 如果您想查看卡片的外观和行为,这里当前链接了一个演示:

    GitHub的示例:

        <!--
    /**
     * @module Polymer UI Elements
     */
    /**
     * polymer-ui-card <b>(WIP)</b>
     *
     * Example:
     *
     *     <polymer-ui-card>
     *       ...
     *     </polymer-ui-card>
     *
     * @class polymer-ui-card
     */
    /**
     * Fired when the card is swiped away.
     *
     * @event polymer-card-swipe-away
     */
    -->
    <link rel="import" href="../polymer/polymer.html">
    
    <polymer-element name="polymer-ui-card" attributes="swipeable noCurve"
        on-trackstart="{{trackStart}}" on-track="{{track}}" on-trackend="{{trackEnd}}" on-flick="{{flick}}">
      <template>
        <link rel="stylesheet" href="polymer-ui-card.css">
        <content></content>
      </template>
      <script>
        Polymer('polymer-ui-card', {
          /**
           * If true, the card can be swiped.
           *
           * @attribute swipeable
           * @type boolean
           * @default false
           */
          swipeable: false,
          noCurve: false,
          offsetRatio: 0.2,
          widthRatio: 3,
          ready: function() {
            this.setAttribute('touch-action', 'pan-y');
            this.transitionEndListener = this.transitionEnd.bind(this);
          },
          leftView: function() {
            this.removeListeners();
          },
          addListeners: function() {
            this.addEventListener('webkitTransitionEnd', 
                this.transitionEndListener);
            this.addEventListener('transitionend', this.transitionEndListener);
          },
          removeListeners: function() {
            this.removeEventListener('webkitTransitionEnd', 
                this.transitionEndListener);
            this.removeEventListener('transitionend', this.transitionEndListener);
          },
          swipeableChanged: function() {
            if (this.swipeable) {
              this.addListeners();
            } else {
              this.removeListeners();
            }
          },
          animate: function(x) {
            var s = this.style;
            var d = x > 0 ? 1 : -1;
            var w = this.w * this.widthRatio;
            var x1 = Math.max(0, Math.abs(x) - this.w * this.offsetRatio);
            var r = Math.max(0, (w - x1) / w);
            var y = w - Math.sqrt(w * w - x1 * x1);
            var deg = (1 - r) * d * 90;
            s.opacity = r;
            var translate = 'translate3d(' + x + 'px,' + 
                (this.noCurve ? 0 : y) + 'px,0)';
            var rotate = 'rotate(' + deg + 'deg)';
            s.webkitTransform = s.mozTransform = s.msTransform = s.transform = 
                translate + (this.noCurve ? '' : ' ' + rotate);
          },
          trackStart: function(e) {
            if (this.swipeable) {
              e.preventTap();
              this.w = this.offsetWidth;
              this.classList.add('dragging');
            }
          },
          track: function(e) {
            if (this.swipeable) {
              this.animate(e.dx);
            }
          },
          trackEnd: function(e) {
            if (this.swipeable) {
              this.swipeEnd(Math.abs(e.dx) > this.w / 2 && e.dx * e.xDirection > 0, 
                  e.dx > 0);
            }
          },
          flick: function(e) {
            if (this.swipeable && !this.away) {
              var v = e.xVelocity;
              this.swipeEnd(Math.abs(v) > 2, v > 0);
            }
          },
          swipeEnd: function(away, dir) {
            this.classList.remove('dragging');
            this.away = away;
            if (away) {
              var w = this.w * this.widthRatio;
              this.animate(dir ? w : -w);
            } else {
              this.animate(0);
            }
          },
          transitionEnd: function() {
            if (this.away) {
              this.fire('polymer-card-swipe-away');
            }
          }
        });
      </script>
    </polymer-element>
    
    
    聚合物(“聚合物-ui-card”{
    /**
    *如果为真,则可以刷卡。
    *
    *@属性开关
    *@type布尔值
    *@default false
    */
    swipeable:false,
    noCurve:错,
    偏移率:0.2,
    宽比:3,
    就绪:函数(){
    this.setAttribute('touch-action','pan-y');
    this.transitionEndListener=this.transitionEnd.bind(this);
    },
    leftView:function(){
    这是。RemovelListeners();
    },
    addListeners:function(){
    this.addEventListener('WebKittTransitionEnd',
    本文件为transitionEndListener);
    this.addEventListener('transitionend',this.transitionEndListener);
    },
    RemovelListeners:function(){
    this.removeEventListener('WebKittTransitionEnd',
    本文件为transitionEndListener);
    this.removeEventListener('transitionend',this.transitionEndListener);
    },
    swipeableChanged:function(){
    如果(这是可开关的){
    this.addListeners();
    }否则{
    这是。RemovelListeners();
    }
    },
    动画:函数(x){
    var s=此.style;
    变量d=x>0?1:-1;
    var w=此.w*此.widthRatio;
    var x1=Math.max(0,Math.abs(x)-this.w*this.offsetRatio);
    var r=数学最大值(0,(w-x1)/w);
    变量y=w-数学sqrt(w*w-x1*x1);
    var deg=(1-r)*d*90;
    s、 不透明度=r;
    变量translate='translate3d('+x+'px',+
    (this.noCurve?0:y)+‘px,0’;
    变量旋转='旋转('+deg+'deg');
    s、 WebKittTransform=s.mozTransform=s.msTransform=s.transform=
    平移+(this.noCurve?'':''+旋转);
    },
    trackStart:功能(e){
    如果(这是可开关的){
    e、 防止tap();
    this.w=this.offsetWidth;
    this.classList.add('drawing');
    }
    },
    轨道:功能(e){
    如果(这是可开关的){
    这个.animate(e.dx);
    }
    },
    trackEnd:功能(e){
    如果(这是可开关的){
    this.swipended(Math.abs(e.dx)>this.w/2&&e.dx*e.xDirection>0,
    e、 dx>0);
    }
    },
    flick:函数(e){
    如果(this.swipeable&!this.away){
    var v=e.x速度;
    这是swipended(数学abs(v)>2,v>0);
    }
    },
    开关:功能(离开,直接){
    this.classList.remove('drawing');
    this.away=away;
    如果(离开){
    var w=此.w*此.widthRatio;
    这个。动画(dir?w:-w);
    }否则{
    这个。动画(0);
    }
    },
    transitionEnd:function(){
    如果(这一步){
    这是一场火灾(“聚合物卡刷走”);
    }
    }
    });
    
    听起来,您似乎在为每个应用程序描述寻找一个单独的凸起容器,并且希望将这些容器放在一列中。如果是这样,我认为元素就是你想要的。卡可以是可刷卡的,也可以是静态卡

  • 要在应用程序中安装,请执行以下操作: bower安装Polymer/Polymer-ui-card2。进口:

  • 要导入:

  • 如果您想查看卡片的外观和行为,这里当前链接了一个演示:

    GitHub的示例:

        <!--
    /**
     * @module Polymer UI Elements
     */
    /**
     * polymer-ui-card <b>(WIP)</b>
     *
     * Example:
     *
     *     <polymer-ui-card>
     *       ...
     *     </polymer-ui-card>
     *
     * @class polymer-ui-card
     */
    /**
     * Fired when the card is swiped away.
     *
     * @event polymer-card-swipe-away
     */
    -->
    <link rel="import" href="../polymer/polymer.html">
    
    <polymer-element name="polymer-ui-card" attributes="swipeable noCurve"
        on-trackstart="{{trackStart}}" on-track="{{track}}" on-trackend="{{trackEnd}}" on-flick="{{flick}}">
      <template>
        <link rel="stylesheet" href="polymer-ui-card.css">
        <content></content>
      </template>
      <script>
        Polymer('polymer-ui-card', {
          /**
           * If true, the card can be swiped.
           *
           * @attribute swipeable
           * @type boolean
           * @default false
           */
          swipeable: false,
          noCurve: false,
          offsetRatio: 0.2,
          widthRatio: 3,
          ready: function() {
            this.setAttribute('touch-action', 'pan-y');
            this.transitionEndListener = this.transitionEnd.bind(this);
          },
          leftView: function() {
            this.removeListeners();
          },
          addListeners: function() {
            this.addEventListener('webkitTransitionEnd', 
                this.transitionEndListener);
            this.addEventListener('transitionend', this.transitionEndListener);
          },
          removeListeners: function() {
            this.removeEventListener('webkitTransitionEnd', 
                this.transitionEndListener);
            this.removeEventListener('transitionend', this.transitionEndListener);
          },
          swipeableChanged: function() {
            if (this.swipeable) {
              this.addListeners();
            } else {
              this.removeListeners();
            }
          },
          animate: function(x) {
            var s = this.style;
            var d = x > 0 ? 1 : -1;
            var w = this.w * this.widthRatio;
            var x1 = Math.max(0, Math.abs(x) - this.w * this.offsetRatio);
            var r = Math.max(0, (w - x1) / w);
            var y = w - Math.sqrt(w * w - x1 * x1);
            var deg = (1 - r) * d * 90;
            s.opacity = r;
            var translate = 'translate3d(' + x + 'px,' + 
                (this.noCurve ? 0 : y) + 'px,0)';
            var rotate = 'rotate(' + deg + 'deg)';
            s.webkitTransform = s.mozTransform = s.msTransform = s.transform = 
                translate + (this.noCurve ? '' : ' ' + rotate);
          },
          trackStart: function(e) {
            if (this.swipeable) {
              e.preventTap();
              this.w = this.offsetWidth;
              this.classList.add('dragging');
            }
          },
          track: function(e) {
            if (this.swipeable) {
              this.animate(e.dx);
            }
          },
          trackEnd: function(e) {
            if (this.swipeable) {
              this.swipeEnd(Math.abs(e.dx) > this.w / 2 && e.dx * e.xDirection > 0, 
                  e.dx > 0);
            }
          },
          flick: function(e) {
            if (this.swipeable && !this.away) {
              var v = e.xVelocity;
              this.swipeEnd(Math.abs(v) > 2, v > 0);
            }
          },
          swipeEnd: function(away, dir) {
            this.classList.remove('dragging');
            this.away = away;
            if (away) {
              var w = this.w * this.widthRatio;
              this.animate(dir ? w : -w);
            } else {
              this.animate(0);
            }
          },
          transitionEnd: function() {
            if (this.away) {
              this.fire('polymer-card-swipe-away');
            }
          }
        });
      </script>
    </polymer-element>
    
    
    聚合物(“聚合物-ui-card”{
    /**
    *如果为真,则可以刷卡。
    *
    *@属性开关
    *@type布尔值
    *@default false
    */
    swipeable:false,
    noCurve:错,
    偏移率:0.2,
    宽比:3,
    就绪:函数(){
    this.setAttribute('touch-action','pan-y');
    this.transitionEndListener=this.transitionEnd.bind(this);
    },
    leftView:function(){
    这是。RemovelListeners();
    },
    addListeners:function(){
    this.addEventListener('WebKittTransitionEnd',
    本文件为transitionEndListener);
    this.addEventListener('transitionend',this.transitionEndListener);
    },
    RemovelListeners:function(){
    this.removeEventListener('WebKittTransitionEnd',
    本文件为transitionEndListener);
    this.removeEventListener('transitionend',this.transitionEndListener);
    },
    swipeableChanged:function(){
    如果(这是可开关的){
    this.addListeners();
    }否则{
    这是。RemovelListeners();
    }
    },
    动画:函数(x){
    var s=此.style;
    变量d=x>0?1:-1;
    var w=此.w*此.widthRatio;
    var x1=Math.max(0,Math.abs(x)-this.w*this.offsetRatio);
    var r=数学最大值(0,(w-x1)/w);
    变量y=w-数学sqrt(w*w-x1*x1);
    var deg=(1-r)*d*90;
    s、 不透明度=r;
    变量translate='translate3d('+x+'px',+
    (this.noCurve?0:y)+‘px,0’;
    变量旋转='旋转('+deg+'deg');
    s、 WebKittTransform=s.mozTransform=s.msTransform=s.transform=
    平移+(this.noCurve?'':''+旋转);
    },
    trackStart:有趣