javascript - 如何将 jquery 变量值传递给 css 属性值?

标签 javascript jquery css

我想将 js 变量传递给 css 属性值,我试过了,但看起来很奇怪,

所以我不明白该怎么做。

$('.show-nav').click(function(){
    var text = $(this).text() == 'Toggle Navigation' ? 'Close' : 'Toggle Navigation';
    $(this).text(text);
    $('nav').toggleClass('show');
    navHeight = $('nav').css('height');
});
<style type="text/css">
    .show {
        height: //need js value here, assuming navHeihgt;
    }
</style>

非常感谢。

已更新

这是我在媒体查询中的CSS

@media only screen and (min-width: 150px) and (max-width: 800px){

 #nav {
    height:0;
    overflow:hidden;
    transition:height linear 500ms;
    -webkit-transition:height ease-in-out 500ms;
 }

 .show {
    height:auto !important;
    transition:height linear 500ms;
    -webkit-transition:height ease-in-out 500ms;
 }
}

你可以看到我的 #nav 没有隐藏 height:0;当点击事件被触发时,.show 类被分配给它,当它的高度回来时它会显示回来。

但它没有通过使用 auto 值分配来设置动画,但是当我选择任何其他特定值而不是 auto 时它会设置动画。但它不是使用自动值的动画,这就是我尝试这样做的原因。

最佳答案

您不需要在 CSS 中定义样式,您可以这样做:

$('.show').height(navHeight);

提供额外的解释 - 当用户点击 show-nav 类时,您的 nav 元素的高度将存储在 navHeight 变量。然后,您可以使用此 jQuery 将此高度应用于您的 show 类。

关于javascript - 如何将 jquery 变量值传递给 css 属性值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25495311/

相关文章:

javascript - 如何显示结束日期和截止日期 31-03

html - Twitter bootstrap 3 navbar navbar-right outside navbar-collapse

CSS:仅在一个方向上缩放背景SVG

css - Bootstrap 中的选项卡 Pane 现在显示

javascript - 选择图像时出现图标

javascript - 未捕获的语法错误 : Unexpected token :

JavaScript 错误 : "is not a constructor"

javascript - jQuery 仅附加不为空的选项

javascript - 如何在较低级别的回调中使用变量?

javascript - 检索跨度值