[练习5]js学习之利用随机数滚动出现图片
来源:互联网 发布:淘宝店铺买卖 编辑:程序博客网 时间:2024/06/05 12:03
<!DOCTYPE html>
<html>
<head>
<meta http-equiv ="Content-Type" content="text/html";charset="UTF-8">
<title></title>
</head>
<style type="text/css">
#adContainer{
border: 1px #A5ACB2 solid;
width: 500px;
height: 500px;
overflow: hidden;
}
</style>
<body>
<div id="adContainer"></div>
<script type="text/javascript">
var baseUrl = "img/";
//为图片设置权重
var ads = new Array(["1.jpg",10],
["2.jpg",10],
["3.jpg",20],
["4.jpg",30],
["5.jpg",40]);
var sortFn = function(a,b){
if (a[1] < b[1]) return -1;
if (a[1] > b[1]) return 1;
if (a[1] == b[1]) return 0;
}
//根据权重重新排列数组,权值越大,越位于后面
ads.sort(sortFn);
//获得权重总数
var allWeight = 0;
for (var i =0; i < ads.length; i ++) {
allWeight += ads[i][1];
};
//产生一个0~allWeight之间的随机数
var curWeight = Math.round(Math.random()*(allWeight + 1) + 1);
var currUrl;
var maxURL = 0;
var minURL = 0;
for(var i = 0; i < ads.length; i ++){
minURL = maxURL;
maxURL += ads[i][1];
ads[i][1] = maxURL;
}
for(var i = 0; i < ads.length; i ++){
if (curWeight == allWeight) {//随机数为allWeight时,特例
currUrl = ads[ads.length-1][0];
}
if (i != 0) {
if (curWeight >= ads[i-1][1] && curWeight < ads[i][1]) {
currUrl = ads[i][0];
}
}else{//权重最小时,特例
if (curWeight > 0 && curWeight <ads[0][1]) {
currUrl = ads[0][0];
}
}
}
var oAdContainer = document.getElementById("adContainer");
oAdContainer.innerHTML = '<img src="' + baseUrl + currUrl + '" style="width:500px;height:500px"/>';
</script>
</body>
</html>
- [练习5]js学习之利用随机数滚动出现图片
- [练习3]js学习之图片的竖直滚动
- [练习4]js学习之图片的水平滚动
- JS图片横向滚动出现
- [练习2]js学习之文本数值滚动
- js练习之事件切换图片和控制css样式以及指定页面滚动位置
- JS运动之让图片无缝滚动
- 利用JS 实现图片无缝隙的滚动
- ASP.NET中利用JS实现图片滚动
- JS学习之循环滚动信息
- 一个图片滚动js
- 图片滚动js实现
- js实现图片滚动
- js图片滚动展示
- js 滚动的图片
- js点击图片滚动
- js图片横向滚动
- js滚动的图片
- LeetCode之旅(20)-Power of Three
- nginx学习笔记(2)---nginx配置文件中优化相关的参数
- 2. PDO 的使用
- Android重力感应
- C++ 赋值运算符=重载
- [练习5]js学习之利用随机数滚动出现图片
- Android系统应用导入Eclipse中开发
- hdu1200(模拟)
- [经验]你想不到的PhpExcel导不出文件的原因
- linux shell 中的 2>&1 用法说明
- java 邮箱验证激活
- 报到博客_2016年4月4日
- 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 java
- leetcode之two sum