【发布时间】:2019-10-20 03:05:21
【问题描述】:
我的期望是将加法赋值运算符(+=/-=)设置为transform: translateX(),但不知道该怎么做。
我已经尝试了一些方法来做到这一点:
$('.inline-grid').css({transform: 'translate(+= 4%, 0)'})
$('.inline-grid').css({transform: 'translate(''+=' + '4' + '%', 0')'})
$('.inline-grid').css({transform: "translate("+=" + "10" + "%", 0)"})
$('.inline-grid').css({transform: '+=' + 'translateX(4%)'})
$('.inline-grid').css({transform: '+=translateX(4%)'})
但这些都不起作用。
有没有办法将+= 运算符赋予translateX()?
代码:
function delay(callback) {
let binding = callback.bind(this);
setTimeout(binding, 400);
}
function action() {
setInterval(() => {
$('.inline-grid').css({
transform: "translateX(10%)"
})
console.log(`waiting 400ms`);
}, 1900);
}
delay(action);
#element{
position : relative;
font-size: 3rem;
font-family: Helvetica;
display: flex;
flex-flow: row;
justify-content: center;
}
.inline-grid {
position: relative;
transform: translate(-10%, 0);
}
.transition {
transition: all 1000ms cubic-bezier(.93,.01,.1,.98);
}
<div id="element">
<div class="inline-grid transition">
Bazil Leaves
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
【问题讨论】:
-
Are there any ways to give += operator to the translateX()不是您尝试的方式。您需要以某种方式将 CSS 属性中的当前值检索到 JS 变量中,在 JS 中执行+=操作,然后使用来自 JS 的新值更新 CSS 规则。 -
@RoryMcCrossan 所以我需要做的是:
get translate value from the CSS file->calculate it inside of JS->send a new value back and override it to the CSS file,对吧? -
@mplungjan 我不会使用
animate()方法来解决我的问题。据我所知,使用animate()方法而不是.css()或添加classes来提供transition更加困难和复杂
标签: javascript jquery html css assignment-operator