简单来说,这就是我追求的jQuery功能:
我需要获取浏览器窗口的宽度和高度,然后获得.banner
div的高度(高度是自动的)。如果.banner
div的高度高于浏览器窗口的高度,则将.title
div和.social
div附加到正文,否则显示.title
div和.social div在.banner
div。
我如何相应地设置两个div的样式(.title
和.social
)?
修改 这是我在HTML上的页面加载代码:
<div class="banner">
<div class="title">
<!--to be positioned 40px from the left-->
</div>
<div class="social">
<!--to be positioned 40px from the right-->
</div>
<img src="URL"/> <!-- Image determines height of DIV uses max-width -->
</div>
答案 0 :(得分:2)
您可以执行以下操作:
var windowHeight = $(window).height(); //Gives you the browser viewport height
var bannerHeight = $(".banner").height();
if (bannerHeight > windowHeight) {
$("body").append($('.title'));
$("body").append($('.social'));
//Then you can style them using jQuery .css
//Example
$('.title').css('color', 'red');
}
else {
//Display .title and .social in your .banner div
}
答案 1 :(得分:0)
使用以下功能:
$(window).height();
$(window).width();
$('.banner').width();
$('.banner').height();
$("#tostyle").addClass('someclass');
等
答案 2 :(得分:0)
动态更新元素:
$(function(){
var divheight = $('.banner').height(); // div current height
// handle the resize event
$(window).resize(function(){
if($(this).height() < divheight) {
$('.title').appendTo($('body'));
$('.social').appendTo($('body'));
$('.banner').hide();
} else {
$('.title').appendTo($('.banner'));
$('.social').appendTo($('.banner'));
$('.banner').show();
}
});
});
为了更好的可读性,故意不简化代码