如果元素转换 3d ... addClass
If element translate 3d ... addClass
如何编写执行此操作的脚本?
如果 div class "test" 有 属性 translate3d (0px, 100px, 0px)
添加到此 "active" class 否则删除它。
我试过类似的方法,但不对...
setInterval(function(){
if($('.test').css('transform') == 'translate3d(0px, 100px, 0px)') {
$('.test').addClass('active');
} else {
$('.test').removeClass('active');
}
}, 1);
您需要像下面那样使用正则表达式匹配:-
$(document).ready(function(){
$('.test').each(function(){
console.log($(this).css('transform') == 'matrix(1, 0, 0, 1, 0, 100)');
if($(this).css('transform') == "matrix(1, 0, 0, 1, 0, 100)"){
$(this).addClass('active');
} else {
$(this).removeClass('active');
}
});
});
.active {
color: red;
font-size: 20px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="test" style="transform:translate3d(0px, 100px, 0px)">Hello</div><br/><br/>
<div class="test" style="transform:translate3d(10px, 10px, 100px)">Hello</div>
注意:- 检查 console.log()
值,您会看到它是一个矩阵
要检查任何元素是否具有转换 属性 或不使用以下正则表达式:-
/matrix(?:(3d)\(\d+(?:, \d+)*(?:, (\d+))(?:, (\d+))(?:, (\d+)), \d+\)|\(\d+(?:, \d+)*(?:, (\d+))(?:, (\d+))\))/)
如何编写执行此操作的脚本?
如果 div class "test" 有 属性 translate3d (0px, 100px, 0px)
添加到此 "active" class 否则删除它。
我试过类似的方法,但不对...
setInterval(function(){
if($('.test').css('transform') == 'translate3d(0px, 100px, 0px)') {
$('.test').addClass('active');
} else {
$('.test').removeClass('active');
}
}, 1);
您需要像下面那样使用正则表达式匹配:-
$(document).ready(function(){
$('.test').each(function(){
console.log($(this).css('transform') == 'matrix(1, 0, 0, 1, 0, 100)');
if($(this).css('transform') == "matrix(1, 0, 0, 1, 0, 100)"){
$(this).addClass('active');
} else {
$(this).removeClass('active');
}
});
});
.active {
color: red;
font-size: 20px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="test" style="transform:translate3d(0px, 100px, 0px)">Hello</div><br/><br/>
<div class="test" style="transform:translate3d(10px, 10px, 100px)">Hello</div>
注意:- 检查 console.log()
值,您会看到它是一个矩阵
要检查任何元素是否具有转换 属性 或不使用以下正则表达式:-
/matrix(?:(3d)\(\d+(?:, \d+)*(?:, (\d+))(?:, (\d+))(?:, (\d+)), \d+\)|\(\d+(?:, \d+)*(?:, (\d+))(?:, (\d+))\))/)