首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有传单的脉冲动画有奇怪的行为(包括GIF)

带有传单的脉冲动画有奇怪的行为(包括GIF)
EN

Stack Overflow用户
提问于 2016-07-01 08:52:57
回答 1查看 594关注 0票数 1

我想用传单在一个标记上做一个脉冲动画,但是我得到了一个非常奇怪的行为。

CSS

代码语言:javascript
复制
.mapbox-marker {
    mix-blend-mode: screen;
}

.animate {
    transition-property: transform;
    -webkit-animation: pulsate 30s ease-out;
    -webkit-animation-iteration-count: 1; 
    opacity: 0.0
}

@-webkit-keyframes pulsate {
0% {-webkit-transform: scale(0.1, 0.1); opacity: 0.0;}
50% {opacity: 1.0;}
100% {-webkit-transform: scale(1.2, 1.2); opacity: 0.0;}
}

,这是我的标记,

代码语言:javascript
复制
myCircleMarker = L.CircleMarker.extend({options: {
  radius: currentRadius,
  stroke: false,
  fillColor: '#FFFFFF',
  fillOpacity: 1,
  clickable: false,
  className: 'mapbox-marker animate'
}});

当我添加标记时

代码语言:javascript
复制
function addMarkersBatch(positions) {
    var markers = []
    positions.forEach(function(position) {
        var marker = new myCircleMarker(position);
        marker.setRadius(currentRadius*1.8);
        marker.setStyle({fillColor: "#fe5928"});
        map.addLayer(marker);
        markers.push(marker);
    });
}

动画和预期的一样,但是它有一个非常奇怪的标记行为。我只想要标记在地图位置上进行缩放,但在缩放时,它会在屏幕上移动。

希望有人能帮上忙

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-01 12:10:30

很明显,解决办法很容易。我只需要把transform-origin设为中心

代码语言:javascript
复制
@-webkit-keyframes pulsate {
    0% {
        -webkit-transform: scale(0.0, 0.0); 
        opacity: 0.0;
        transform-origin:center;
    }
    1% {
        -webkit-transform: scale(1.5, 1.5); 
        opacity: 1.0;
    }
    5% {
        -webkit-transform: scale(0.8, 0.8); 
    }
    50% {
        opacity: 1.0;
    }
    100% {
        -webkit-transform: scale(0.4, 0.4); 
        opacity: 0.0;
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38141081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档