首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当另一个div类在另一个属性中有某个值时,如何更改CSS类属性?

当另一个div类在另一个属性中有某个值时,如何更改CSS类属性?
EN

Stack Overflow用户
提问于 2021-10-07 23:22:43
回答 2查看 553关注 0票数 0

我对这件事有点陌生,但我正试着让这件事起作用。

代码语言:javascript
复制
<script>
if $('.twentytwenty-handle').css({ 'left': '400px' })
{
    $('.hero').css({ 'display': 'none' });
}
</script>

我实际上想要实现的是,当<div class=twentytwenty-handle style=left: 400px;>和它等于或大于400px时,对于.hero来说,可以去掉一个display: block;属性,以使.hero2出现。

编辑:

在我的.twentytwenty-handle文件中,div不是一个div,而是ZURB二十个插件githubjquery.twentytwenty.js文件中的一个div。我本质上想要的是,当.twentytwenty-handle被一路移动(如果可能的话)时,它会使我的.hero div变成.hero2。同时,我希望它在移动到左边的时候转换成.hero3

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-10-08 01:36:31

下面是一种使用javaScript来查看在CSS属性和元素CSS属性中发生了什么的机制。基于CSSStyleDeclaration。

代码语言:javascript
复制
function testPosition(){  
  var element = document.querySelector('.twentytwenty-handle');
  var cssProps = getComputedStyle(element);
  // console.log(cssProps);
  var trackItem1  = parseInt(cssProps.left);
  console.log("trackItem1:" + trackItem1);
   if (trackItem1 >= 400) {
      //alert("You went over 400");
      //$(".hero").last().addClass( "hilite" );
      //$(".hero").hide();
      $(".hero").fadeOut(500);
   } else{
    $(".hero").fadeIn(500);
  };
    $("#infoBox").html(
  "CSSStyleDeclaratio: " + '<br>' +   
  cssProps.left + '<br>' +
  cssProps.top + '<br>' +
  cssProps.color + '<br>' +
  cssProps.width + '<br>' +
  cssProps.height
  );

}
代码语言:javascript
复制
body {
  margin: 1rem;
  font-size: .9rem;
}

.twentytwenty-handle {
  position: relative;
  display:block;
  left: 0px;
  top: 20px;
  width: 300px;
  height: 80px;
  background: #333;
  color: yellow;
}

.hero {
  position: relative;
  display:block;
  left: 0px;
  top: 30px;
  width: 300px;
  height: 80px;
  background: #333;
  color: yellow;
}
.twentytwenty-handle > p, .hero > p {
    padding: 25px 20px;
}

.hilite {
  font-color: red;
  font-size: 3rem;
}

#infoBox {
  margin-top: 30px;
  padding: 20px 20px;
}
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<button onclick="testPosition()" type="button" class="btn btn-primary btn-sm">Check CSS properties</button> <span>Change 'left' value for .twentytwenty-handle and then click on button. </span>
<div class="twentytwenty-handle">
  <p>This is twentytwenty-handle</p>
</div>

<div class="hero">
  <p>This is hero</p>
</div>
<div id="infoBox">
</div>

票数 0
EN

Stack Overflow用户

发布于 2021-10-07 23:32:09

我想你想要这个:

代码语言:javascript
复制
if ( $('.twentytwenty-handle').css('left').replace(/[^-\d\.]/g, '') >= 400 )
{
    $('.hero').css('display', 'none');
    $('.hero2').show();
}

我创建了一个工作示例的jsFiddle

扎科夫亚 ( https://stackoverflow.com/a/1100653/1430996 )致敬

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69488813

复制
相关文章

相似问题

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