我正在尝试将元素的高度更改为其宽度与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-->
答案 0 :(得分:3)
我确实认为加载,卸载和错误已经折旧并且不再存在于jquery 3中。您现在应该使用.on
来注册事件侦听器,这样您就可以更改
$(window).load(function() {
makehorizontal();
});
到
$(window).on('load', function() {
makehorizontal();
});
如果这不起作用,可能就像使用文档一样:
$(document).ready(function(){
makehorizontal();
});
以下是它的一小部分工作:
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;