使用Math.Random();修改CSS文件
Modify CSS file using Math.Random();
我正在尝试使用
更改背景图像Math.floor ((math . random ());
在我的CSS文件中有一行在我的HTML文件中叫做:
.slider { width: 990px; height: 378px; position: relative; background: url(images/slide-img.png) no-repeat 0 0;}
我要做的是使用以下语句获得从1到4的随机数,并根据随机检索的数字显示不同的背景图像。所以我决定从CSS文件中删除上面的行,并在我的HTML文件中添加以下代码:
var randomNumber = Math.floor((Math.random()*4)+1); // random number (no more than 4 or the array will be out of bounds)
if (randomNumber == 1) {
document.write ('<style>.slider { width: 990px; height: 378px; position: relative; background: url(images/slide-img.png) no-repeat 0 0;}</style>');
}
if (randomNumber == 2) {
document.write ('<style>.slider { width: 990px; height: 378px; position: relative; background: url(images/slide-img2.png) no-repeat 0 0;}</style>');
}
if (randomNumber == 3) {
document.write ('<style>.slider { width: 990px; height: 378px; position: relative; background: url(images/slide-img3.png) no-repeat 0 0;}</style>');
}
if (randomNumber == 4) {
document.write ('<style>.slider { width: 990px; height: 378px; position: relative; background: url(images/slide-img4.png) no-repeat 0 0;}</style>');
}
生成一个空白的HTML页面。我正在尝试这样做,而不使用上述方法创建四个单独的CSS文件。
document.write
将替换当前内容。
使用:document.getElementsByClassName('slider')
遍历元素,并使用element.style.backgroundImage=...
试试Jquery [fantastic]
现场演示 html:<div class="slider"></div>
css: .slider {
width: 300px;
height: 300px;
-webkit-background-size:100% 100%;
-moz-background-size:100% 100%;
background-repeat:no-repeat;
border: 2px black solid;
}
JavaScrip:
$(function () {
var url = "http://maispc.com/samuel/content/images/",
imgArray = [url+"avatar.png",
url+"provider/blogger.png",
url+"provider/LinkedIn-32x32.png",
url+"provider/myspace.png",
url+"provider/instagram.png",
url+"provider/Twitter-32x32.png",
url+"provider/stackoverflow.png",
url+"provider/Facebook-32x32.png"],
randomNumber = Math.floor((Math.random() * imgArray.length)),
baseUrl = "url('" + imgArray[randomNumber] + "')";
$(".slider").css('background-image', baseUrl); })();
LIVE in fiddle
因为唯一改变的是背景图像,我只是使用javascript应用样式。就像
var randomNumber = Math.floor((Math.random()*4)+1),
sliders = document.getElementsByClassName('slider');
Array.prototype.forEach.call(sliders, function (elm) {
elm.style.background = 'url(images/slide-img' + randomNumber + '.png)';
});
- 未测试
相关文章:
- 使用jQuery修改CSS的好处
- HTML&JS-如何修改CSS类的属性
- 如何使用带包装器的Javascript/jQuery动态修改CSS类
- 使用 angularJs 修改 css.height 会导致 Internet Explorer 无法滚动到页面底部
- 动态修改CSS-适用于IE9,但不适用于Chrome和Firefox
- 需要一种更好的方法来大规模修改css类
- 如何在硒中按类名修改 css
- 通过 javascript 通过增量修改 CSS 背景位置
- 修改 CSS 内容编辑器 yui
- 手动将脏设置为字段不会修改 css 类 angularJS
- 如何在 JavaScript 中动态设置和修改 CSS
- 为什么当媒体查询更新 CSS 规则时,修改 CSS 规则会失败
- 使用 JavaScript 或 jQuery 修改 CSS 规则
- 使用JavaScript修改CSS选择器:之后
- 如何修改CSS或JS文件从“;具体化:具体化;Meteor包装
- 使用Javascript用户输入修改CSS
- 如何在渲染前在窗口调整大小事件中修改CSS
- 哪个更快?-修改css属性或在jquery中添加类
- 使用jQuery修改CSS类的名称-在加载时不起作用
- 使用jQuery选择元素并放入数组以修改css