我正在努力弄清楚什麼是優化此代碼的最佳方法。我目前只使用width @media標籤,而JS似乎是我可以控制一系列非常具體的變量來調整div元素的唯一可靠方法。優化div +屏幕大小JS塊
這是目前我認識的一團糟,但我想獲得反饋,看看是否有任何明顯的問題。還在學習,所以對我來說很容易。
謝謝。
jQuery(document).ready(function($){
var elementHeight = $('.hs-caption').height();
var screenHeight = jQuery(window).height();
var upcomingHeader = $('.fold-header').height() * 2.0;
if (screenHeight > 960) {
var heightOffset = 220;
} else {
var heightOffset = 200;
}
var totalHeight = elementHeight + heightOffset;
function fullscreen(){
jQuery('#hero').css({
width: jQuery(window).width(),
height: jQuery(window).height()
});
}
function setToCenterOfParent(element, parent, ignoreWidth, ignoreHeight){
parentWidth = $(parent).width();
parentHeight = $(parent).height();
elementWidth = $(element).width();
elementHeight = $(element).height();
if(!ignoreWidth)
$(element).css('left', parentWidth/2 - elementWidth/2);
if(!ignoreHeight)
$(element).css('top', heightOffset);
}
function scalar(){
if (window.innerHeight < (totalHeight * 1.25) + upcomingHeader) {
console.log("screenHeight is less than elementHeight");
$('.hs-info p').css({
display: 'none'
}),
$('.hs-info .btn-slide').css({
padding: '10px 0px 0px 0px'
}),
$('.hs-sponsor').css({
display: 'none'
})
} else {
console.log("screenHeight is NOT less than elementHeight");
$('.hs-info .btn-slide').css({
padding: '0px'
}),
$('.hs-sponsor').css({
display: 'block'
}),
$(".hs-info p").css({
display: 'block'
})
}
}
setToCenterOfParent($('.hs-caption'), document.body, true, false);
fullscreen();
scalar();
jQuery(window).resize(function() {
scalar();
setToCenterOfParent($('.hs-caption'), document.body, true, false);
fullscreen();
});
console.log("height:", elementHeight);
console.log("total height:", elementHeight + heightOffset);
console.log("screenHeight:", screenHeight);
console.log("heightOffset:", heightOffset);
console.log("upcomingHeader:", upcomingHeader);
});
您的最後一行不在代碼塊中。 – fuyushimoya
謝謝 - 已更改 – unsider
此代碼是否會在「hs-caption」以外的元素上使用? – fuyushimoya