У мене є зображення банера, яке видно лише тоді, коли iвстановити фіксовану висоту, я хочу зробити його чуйним, так що єдиний спосіб, я думав робити, це обчислення висоти зображення з шириною вікна.
функція розрахунку висоти: windowWidth / 1.845
Як мені застосувати цю функцію до div css з jquery / javascript?
Я спробував цю функцію, але він не працював
$(document).ready(function(){
var originalWidth = $( window ).width();
var newHeight = originalWidth/+(1.845)
;
function resize() {
$("#ei-slider").css("height", newHeight);
}
$(".target").each(resize);
$(document).resize(function(){
$("ei-slider").each(resize);
});
});
Відповіді:
0 для відповіді № 1Спробуйте додати () під час виклику функції зміни розміру
$(".target").each(resize());
$(document).resize(function(){
$(".ei-slider").each(resize());
});
Крім того, ви втрачаєте точку перед ei-slider
І я настійно рекомендую вам використовувати backstretch плагін jquery. http://srobbin.com/jquery-plugins/backstretch/
0 для відповіді № 2
Чому зображення відображається лише при встановленні фіксованої висоти? Зображення буде автоматично реагувати, якщо ви зробите це у вашому CSS.
img {
max-width: 100%;
width: 100%;
}
Однак, якщо вам потрібно робити інші речі в розмірі, ви, ймовірно, хочете послухати зміни розмірів window
і ні document
.
$(document).ready(function () {
var $window = $(window);
var originalWidth = $window.width();
var newHeight = originalWidth / 1.845;
function resize() {
// This will be .target or .ei-slider based on where it"s called.
$(this).css("height", newHeight);
};
$(".target").each(resize);
$window.on("resize", function(){
$(".ei-slider").each(resize);
});
});