Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在JS(jQuery)中为translate指定一个加法赋值(+;=)?_Javascript_Jquery_Html_Css_Assignment Operator - Fatal编程技术网

Javascript 如何在JS(jQuery)中为translate指定一个加法赋值(+;=)?

Javascript 如何在JS(jQuery)中为translate指定一个加法赋值(+;=)?,javascript,jquery,html,css,assignment-operator,Javascript,Jquery,Html,Css,Assignment Operator,我的期望是将加法赋值运算符(+=-=)设置为transform:translateX(),但我不知道该怎么做 我尝试了一些方法来做到这一点: $('.inline-grid').css({transform: 'translate(+= 4%, 0)'}) $('.inline-grid').css({transform: 'translate(''+=' + '4' + '%', 0')'}) $('.inline-grid').css({transform: "translate("+="

我的期望是将加法赋值运算符(
+=-=
)设置为
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()

代码:

函数延迟(回调){
让binding=callback.bind(this);
设置超时(绑定,400);
}
函数动作(){
设置间隔(()=>{
$('.inline grid').css({
转换:“translateX(10%)”
})
log(`waiting 400ms`);
}, 1900);
}
延迟(行动)
#元素{
位置:相对位置;
字体大小:3rem;
字体系列:Helvetica;
显示器:flex;
柔性流:行;
证明内容:中心;
}
.内联网格{
位置:相对位置;
转换:转换(-10%,0);
}
.过渡{
过渡:所有1000ms三次贝塞尔(.93、.01、.1、.98);
}

巴兹尔叶

根据@Rory的提示,我制作了一个简单的模块来解决我的问题。我与大家分享这一点,并对在不久的将来像我一样有同样问题的人做一个简短的描述

此模块的主要功能是无限累积。不太可能
.css()
方法在jQuery中,累积不受css的
转换
属性的影响

感谢您的建议@Rorymcrossan:-)

=============最新更新===========

现在用户可以累积任何类型的
单元
,例如
px
cm
rem
, 甚至
%

=============最新更新===========

该代码自2019年8月11日起已过时

/@BUG已修复
//@将代码更改得更清晰
//@USAGE:Operator.assembly(目标、增量、属性、单位);
常量运算符=(函数(){
函数累加(初始、acc、名称、单位){
this.init=document.querySelector(init);
this.acc=acc;
this.name=名称;
这个。单位=单位;
this.convert(this.result);
}
累积。原型={
转换:函数(回调){
让defaultDisplay=this.init.style.display;
this.init.style.display='none';
让bind=callback.bind(this),
getValues=window.getComputedStyle(this.init,null).getPropertyValue(this.name),
S2N=parseInt(getValues,10);
this.init.style.display=defaultDisplay;
结合(S2N);
},
结果:功能(值){
让getNewValue=value+this.acc;
this.init.style.left=getNewValue+this.unit;
}
}
返回{
汇编:(初始、附件、名称、单位)=>{
新累计(初始、会计科目、名称、单位);
}
}
}());
//==============================================
设置间隔(()=>{
运算符.汇编('.content',10',left','%');
}, 1000);
#框{
最大宽度:2560px;
背景颜色:金色;
}
.内容{
左:10%;/*10px*/
位置:相对位置;
过渡时间:1000ms;
}

wowtested

是否有任何方法可以将+=运算符赋给translateX()
而不是以您尝试的方式。您需要以某种方式将CSS属性中的当前值检索到JS变量中,在JS中执行
+=
操作,然后用JS中的新值更新CSS规则。@RoryMcCrossan所以我需要做的是:
从CSS文件中获取翻译值
->
在JS中计算它
->
发送一个新值并覆盖到CSS文件
,对吗?@mplungjan我不会使用
animate()
方法来解决我的问题。据我所知,使用
animate()
方法而不是
.css()
或添加
类,进行
转换
更加困难和复杂