使用jQuery 2.3与3.3更改元素CSS高度

时间:2018-05-27 21:03:51

标签: jquery css

我正在尝试将元素的高度更改为其宽度与jQuery的固定比率。它适用于jQuery 2.3,但不适用于jQuery 3.3?

JS:

function makehorizontal() {
    var myWidth = jQuery('.horizontaled').width();
    var myHeight = myWidth / 1.6 + 'px';
    $('.horizontaled').css('height', myHeight);
}
$(window).load(function() {
    makehorizontal();
});
$(window).resize(function() {
    makehorizontal();
});

CSS:

.image-background-holder{
    width:100%;
    min-height: 100px;
    position:relative;
}

HTML:

<div class="image-background-holder horizontaled">
...
</div><!--image-background-holder-->

1 个答案:

答案 0 :(得分:3)

我确实认为加载,卸载和错误已经折旧并且不再存在于jquery 3中。您现在应该使用.on来注册事件侦听器,这样您就可以更改

$(window).load(function() {
    makehorizontal();
});

$(window).on('load', function() {
    makehorizontal();
});

如果这不起作用,可能就像使用文档一样:

$(document).ready(function(){
    makehorizontal();
});

以下是它的一小部分工作:

&#13;
&#13;
function makehorizontal() {
    var myWidth = jQuery('.horizontaled').width();
    var myHeight = myWidth / 1.6 + 'px';
    $('.horizontaled').css('height', myHeight);
}
$(window).on( 'load', function () {
    makehorizontal();
});
$(window).resize(function() {
    makehorizontal();
});
&#13;
.image-background-holder{
    width:100%;
    min-height: 100px;
    position:relative;
    background:green;
}
&#13;
<script
  src="https://code.jquery.com/jquery-3.3.1.min.js"
  integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
  crossorigin="anonymous"></script>
  
  <div class="image-background-holder horizontaled">
...
</div><!--image-background-holder-->
&#13;
&#13;
&#13;