我有一個jQuery文件,用於調整背景圖像的大小,使其不會被拉伸或擠壓。它看起來像這樣;Jquery懸停在單獨元素中的可變函數
(function ($) {
var wheight = 0;
var $imagebackground = 'images/bg2.jpg';
var wwidth = 0;
var ratio = 0;
var img = new Image();
img.src = $imagebackground;
$(img).one('load', function (e) {
ratio = img.width/img.height;
$('#background-wrap').html(img);
lets_scale();
});
if (img.complete) img.trigger('load');
function lets_scale() {
wheight = $(window).height();
wwidth = $(window).width();
$('#background-wrap').width(wwidth).height(wheight);
if (wwidth/ratio >= wheight) // If the browser is wider than the image
{
$('#background-wrap img').css({
'width': wwidth,
'height': Math.ceil(wwidth/ratio),
'margin-top': Math.ceil((wheight - wwidth/ratio)/2)
});
} else {
$('#background-wrap img').css({
'height': wheight,
'width': Math.ceil(wheight * ratio),
'margin-left': Math.ceil((wwidth - wheight * ratio)/2)
});
}
}
$(window).bind('resize', lets_scale);
$(window).bind('orientationchange', lets_scale);
})(jQuery);
然後HTML是這樣的;
<div id="background-wrap"></div>
該div的CSS是;
#background-wrap
{
overflow:hidden;
}
我想,當用戶在mainnav
DIV列表徘徊採取可變$imagebackground
和加載一組圖像有背景圖像的變化。我爲每個鏈接設置了不同的li類,並希望將其傳遞給變量以用於背景圖像更改。 div和列表的html是;
<div class="mainnav">
<img src="images/logo.png" class="logo">
<ul>
<li class="nav1"><a href="hsna">Link1</a></li>
<li class="nav2"><a href="life">Link2</a></li>
<li class="nav3"><a href="happening">Link3</a></li>
<li class="nav4"><a href="porchrokr">Link4</a></li>
</ul>
</div>
看來,$imagebackground
變量可能是根據用戶在mainnav
徘徊在列表中改變它的值的函數,但我似乎被卡住搡功能成可變
你的js在懸停部分在哪裏?也是你的背景圖像背景圖像或背景中顯示的div內的圖像?你的js建議它是一個img而不是背景圖片 – Huangism
懸停部分還沒有JS。我想弄清楚如何將它放到一個變量中,這樣懸停圖像就會受到我調整大小腳本的影響。 img是用作背景的div的一部分。 – dimmlight
你目前的圖片是「images/bg2.jpg」,我假設你想要將圖片更改爲其他東西,當你懸停mainnav。你所需要做的就是改變圖像的來源。調整大小功能與圖像的來源無關。你不需要擔心那個 – Huangism