我有这个代码,通过在其“src”中通过javascript打印其url,将不同的图像加载到“img”。在CSS完成关于“img”标签中内容的魔术之后。
$(window).load(function() {
var randomImages = ['img1','img2','img3','img4','img5','img6','img7','img8','img9','img10','img11','img12','img13','img14','img15','img16','img17','img18','img19','img20','img21','img22','img23','img24','img25','img26','img27','img28','img29','img30'];
var rndNum = Math.floor(Math.random() * randomImages.length);
var $win = $(this);
var iMac = $(window).width() > 1920 ? '_imac' : '';
var $img = $('#background').attr('src', '_img/bg/index_rnd/' + randomImages[rndNum] + iMac + '.jpg').css({'position':'fixed','top':0,'left':0});
function resize() {
if (($win.width() / $win.height()) < ($img.width() / $img.height())) {
$img.css({'height':'100%','width':'auto'});
} else {
$img.css({'width':'100%','height':'auto'});
}
}
$win.resize(function() { resize(); }).trigger('resize');
});
我正在创建一个新网站,我想使用相同的系统选择一个数组的图片,但是将foto的网址应用到css背景图片。
#home{
background: url(INSERT URL OF JAVASCRIPT HERE) no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
我试过下面的代码,但我认为是笨拙的。我不知道这是否可能,或者通过javascript有一种比这种方法更简单的方法。如你所见,我不是专家。
$(window).load(function() {
var randomImages = ['img1','img2','img3'];
var rndNum = Math.floor(Math.random() * randomImages.length);
var url = 'url(_img/bg_array/' + randomImages[rndNum] + '.jpg)'
$('#home').css({
'background:' url 'no-repeat' 'center' 'center' 'fixed',
'-webkit-background-size': 'cover',
'-moz-background-size': 'cover',
'-o-background-size': 'cover',
'background-size': 'cover'
});
}
谢谢!!!!
编辑:更多信息//////////////////////////////
jfriend00的答案似乎100%正确和逻辑。我正在尝试使用第二种选择。我尝试了两种选择,似乎都没有效果。我也尝试通过javascript将一个简单的代码应用到#home并且它不起作用...所以我认为javascript文件和html之间的链接存在问题,也许问题出在其他地方... < / p>
在这里,我将提供更多可能的有用信息。我将我的html和我的连接插入到头部的不同文件中,也许这很有帮助。我正在创建一个水平布局的网页。它通过jquery完美地工作......
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>DJ Femke</title>
<!-- JAVASCRIPT CONNECTIONS -->
<script type="text/javascript" src="_js/jquery-1.3.1.min.js"></script>
<script type="text/javascript" src="_js/jquery.scrollTo.js"></script>
<script type="text/javascript" src="_js/scroll_resize.js"></script>
<script type="text/javascript" src="_js/onload.js"></script>
<!-- CSS CONNECTIONS -->
<link type="text/css" rel="stylesheet" href="_css/style.css" media="screen"/>
</head>
<body>
<div id="wrapper">
<div id="mask">
<div id="booking" class="item">
<a name="item1"></a>
<div class="content">item1
<a href="#booking" class="panel">1</a> |
<a href="#about_me" class="panel">2</a> |
<a href="#home" class="panel">3</a> |
<a href="#music" class="panel">4</a> |
<a href="#photo_video" class="panel">5</a>
<a href="#contact" class="panel">6</a>
<p>BOOKING</p>
</div>
</div>
<div id="about_me" class="item">
<a name="item2"></a>
<div class="content">about_me
<a href="#booking" class="panel">1</a> |
<a href="#about_me" class="panel">2</a> |
<a href="#home" class="panel">3</a> |
<a href="#music" class="panel">4</a> |
<a href="#photo_video" class="panel">5</a>
<a href="#contact" class="panel">6</a>
<p>ABOUT ME</p>
</div>
</div>
<div id="home" class="item" src="">
<a name="item3"></a>
<div class="content">item3
<a href="#booking" class="panel">1</a> |
<a href="#about_me" class="panel">2</a> |
<a href="#home" class="panel">3</a> |
<a href="#music" class="panel">4</a> |
<a href="#photo_video" class="panel">5</a>
<a href="#contact" class="panel">6</a>
<p>HOME</p>
</div>
</div>
<div id="music" class="item">
<a name="item4"></a>
<div class="content">item4
<a href="#booking" class="panel">1</a> |
<a href="#about_me" class="panel">2</a> |
<a href="#home" class="panel">3</a> |
<a href="#music" class="panel">4</a> |
<a href="#photo_video" class="panel">5</a>
<a href="#contact" class="panel">6</a>
<p>MUSIC</p>
</div>
</div>
<div id="photo_video" class="item">
<a name="item5"></a>
<div class="content">item5
<a href="#booking" class="panel">1</a> |
<a href="#about_me" class="panel">2</a> |
<a href="#home" class="panel">3</a> |
<a href="#music" class="panel">4</a> |
<a href="#photo_video" class="panel">5</a>
<a href="#contact" class="panel">6</a>
<p>PHOTO AND VIDEO</p>
</div>
</div>
<div id="contact" class="item">
<a name="item6"></a>
<div class="content">item6
<a href="#booking" class="panel">1</a> |
<a href="#about_me" class="panel">2</a> |
<a href="#home" class="panel">3</a> |
<a href="#music" class="panel">4</a> |
<a href="#photo_video" class="panel">5</a>
<a href="#contact" class="panel">6</a>
<p>CONTACT</p>
</div>
</div>
</div>
</div>
</body>
</html>
我的文件onload.js中的javascript如下:
$(window).load(function() {
var randomImages = ['img1','img2','img3'];
var rndNum = Math.floor(Math.random() * randomImages.length);
var url = 'url(_img/bg_array/' + randomImages[rndNum] + '.jpg)'
$('#home').css({
'background': url + 'no-repeat center center fixed',
'-webkit-background-size': 'cover',
'-moz-background-size': 'cover',
'-o-background-size': 'cover',
'background-size': 'cover'
});
}
也许它很方便...我的文件结构:
答案 0 :(得分:2)
通过javascript设置背景图片有两种选择。您可以只设置background-image
CSS属性,也可以将字符串添加到一起以形成background
属性的整个字符串。
选项1:
$(window).load(function() {
var randomImages = ['img1','img2','img3'];
var rndNum = Math.floor(Math.random() * randomImages.length);
var url = 'url(_img/bg_array/' + randomImages[rndNum] + '.jpg)';
$('#home').css('background-image', url);
});
选项2:
$(window).load(function() {
var randomImages = ['img1','img2','img3'];
var rndNum = Math.floor(Math.random() * randomImages.length);
var url = 'url(_img/bg_array/' + randomImages[rndNum] + '.jpg)'
$('#home').css({
'background': url + ' no-repeat center center fixed',
'-webkit-background-size': 'cover',
'-moz-background-size': 'cover',
'-o-background-size': 'cover',
'background-size': 'cover'
});
});
您在代码末尾错过了结束);
以完成$(window).load()
声明。
第二个选项的工作示例:http://jsfiddle.net/jfriend00/rGkww/
答案 1 :(得分:0)
编辑:哦,是的,另一张海报是对的。我没有检查随机数生成......但其余的仍然适用。
我不使用jquery ......
但是在常规的Javsacript中它更像是: **警告,未经测试的代码**
var imgs = ["foo1.jpg", "foo2.jpg"];
var idx = Math.floor(Math.random() * imgs.length)
var img = imgs[idx];
var el = document.getElementById('home');
el.style.backgroundImage="url('" + img + "')";