Плагин масштабирования картинки фона по размеру окна на jQuery. Протестирован в Safari, Crome и Firefox.
Все, что необходимо – выбрать картинку для установки в качестве фона. С использованием плагина эта картинка будет меняться в размерах до заполнения всего окна.
- Код плагина (совсем небольшой):
/**
* jQuery.fullBg
* Version 1.0
* Copyright © 2010 c.bavota – http://bavotasan.com
* Dual licensed under 'MIT' and 'GPL'.
* Date: 02/23/2010
**/
(function($) {
$.fn.fullBg = function(){
var bgImg = $(this);
function resizeImg() {
var imgwidth = bgImg.width();
var imgheight = bgImg.height();
var winwidth = $(window).width();
var winheight = $(window).height();
var widthratio = winwidth / imgwidth;
var heightratio = winheight / imgheight;
var widthdiff = heightratio * imgwidth;
var heightdiff = widthratio * imgheight;
if(heightdiff>winheight) {
bgImg.css({
width: winwidth+'px',
height: heightdiff+'px'
});
} else {
bgImg.css({
width: widthdiff+'px',
height: winheight+'px'
});
}
}
resizeImg();
$(window).resize(function() {
resizeImg();
});
};
})(jQuery)
- К нему требуется совсем короткий CSS:
.fullBg {
position: absolute;
top: 0;
left: 0;
overflow: hidden;
}
#maincontent {
position: absolute;
top: 0;
left: 0;
z-index: 50;
}
⇥ Для фиксирования фона можно использовать стандартный подход:
.fullBg {
position: fixed;
top: 0;
left: 0;
overflow: hidden;
}
- Для нормальной работы нужно в HTML добавить тег с изображением (с id или class), а также добавить div, в котором будет располагаться контент (без этого плагин правильно работать не будет).
<img src="your-background-image.jpg" alt="" id="background" />
<div id="maincontent"> <!-- Your site content goes here --> </div>
- Для запуска плагина поместите вниз страницы (перед закрывающим тегом
body):
<script type="text/javascript"> $(window).load(function() { $("#background").fullBg(); }); </script>
Плагин очень прост, поэтому опций настройки не предусмотрено – он просто довольно хорошо делает то, для чего предназначен.
Пример использования:
Между <head></head>:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.fullbg.min.js"></script>
<style type="text/css">
.fullBg {
position: fixed;
top: 0;
left: 0;
overflow: hidden;
}
#maincontent {
position: absolute;
top: 300px;
left: 0;
z-index: 50;
width: 100%;
background: #fff;
opacity: 0.9;
filter: alpha(opacity=90);
}
#box {
width: 600px;
margin: auto;
padding: 0 10px;
}
h1 {
margin-top: 12px;
font-size: 40px;
text-align: center;
line-height: 44px;
font-weight: normal;
font-family: Georgia,serif;
color: #222;
}
h2 {
margin-top: 0;
font-size: 24px;
line-height: 28px;
font-weight: normal;
font-family: Georgia,serif;
color: #C52D08;
}
</style>
Между <body></body>:
<img src="images/bg.jpg" alt="" id="background" />
<div id="maincontent">
<div id="box">
<h1>Full Size Background Image jQuery Plugin</h1>
<h2>Демо</h2>
Просто измените размер окна и увидете работу плагина в действии. Когда бы размер окна не менялся, фоновое изображение также изменит свой размер. И всегда будет сохранять правильное соотношение сторон.
</div>
</div>
<script type="text/javascript">
$(window).load(function() {
$("#background").fullBg();
});
</script>






Нет комментариев к этой статье.