javascript 随机显示指定内容
今天碰到一个需求,一个页面显示赞助厂商的信息,但是厂商要求排序要随机排,因为是个静态页面不是读取数据库的,所以打算用js来控制
var arr = new Array('张三', '李四', '王五', '赵六', '田七', '哈哈', '呵呵', '么么');
var brr = new Array();
var len1 = arr.length;
var str = "";
//debugger;
while (brr.length <= 8)
{
var index = parseInt(Math.random() * (len1));
for (var j = 0; j < brr.length; j++) {
if (brr.indexOf(arr[index])==-1)
{
brr.push(arr[index]);
//if (arr[index] != undefined) {
str += arr[index] + "、";
//}
arr.splice(index, 1);
}
}
if (brr.length==0) {
brr.push(arr[index]);
//if (arr[index] != undefined) {
str += arr[index] + "、";
//}
arr.splice(index, 1);
}
}
console.log(str)
嘴笨不知道怎么描述思路,我就把几个版本都放上来,大家慢慢看应该是可以看明白的
while (brr.length <= arr.length)
{
var index = parseInt(Math.random() * (len1));
if (brr.length==0) {
brr.push(arr[index]);//第一次添加
} if (arr[index] != undefined) { //因为加一个后会去掉数据源的一个选项,所以有时候会有索引没值
brr.push(arr[index]);
str += arr[index] + "、";
arr.splice(index, 1);
}
}
这样就可以实现不重复随机排序指定内容了,但是还是有undefined的情况
while (arr.length) {
str += arr.splice(parseInt(Math.random() * arr.length), 1)[0] ;
}
最终版本,我随机删除其中一个元素,然后把这个元素输出,就避免了undefined的情况了,但是这种做法的弊端是这时候arr数组就没有数据了,如果需要做定时刷新就不可以了,必须是手动刷新才会随机加载,如果需要做定时刷新还是需要新建一个数组,然后往里面插入元素,加一个定时器就可以实现定时刷新内容了。因为我的需求是手动刷新,所以用了最后的版本简洁大方。做了整整一下午大概改版了七八次,感觉还不错发个博客小小得瑟下,希望帮到别人
javascript 随机显示指定内容的更多相关文章
- gridView RowDataBound事件 鼠标经过行颜色变化及根据字段值显示指定内容
protected void gvBarInfo_RowDataBound(object sender, GridViewRowEventArgs e) { if ...
- winform里面网页显示指定内容
今天有个同事问了一下我,怎么在winform里面打开网页啊?我们都是基于C/S的开发,很少接触winform,所以我当时就懵了,实在不知道怎么回答,所以索性说不知道.但是我又想了想,这个应该是个很简单 ...
- 只访问tomcat,不访问项目时,显示指定内容。
1.情景展示 我们知道,将javaWeb项目部署到tomcat后,访问该项目的url路径构成是: 网路协议+"://"+ip地址+":"+tomcat设定的 ...
- SendTextMessage如何打开记事本并显示指定内容
procedure TForm1.Button1Click(Sender: TObject); var hEdit: HWND; str: string; begin str := '准备要添加到记事 ...
- error_page 改变状态码为新的状态码,并显示指定内容
server { listen 80; server_name www.espressos.com; location / { root /data0/www/bbs; index index.htm ...
- Javascript 随机显示数组元素
$(function(){ var wx_arr = ['gb3055','gb6365']; var storage = window.localStorage; function random_w ...
- JS实现的随机显示图片
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...
- 如是使用JS实现页面内容随机显示
之前有个客户咨询我,因为他们公司的业务员有多个人,但公司网站的联系方式板块里只够放一个人的信息,所以就想能不能实现这个联系方式信息随机显示,对于业务或客服人员来说也能做到分配均匀公平.本文我们将和大家 ...
- javascript怎么获取指定url网页中的内容
javascript怎么获取指定url网页中的内容 一.总结 一句话总结:推荐jquery中ajax,简单方便. 1.js能跨域操作么? javascript出于安全机制不允许跨域操作的. 二.用ph ...
随机推荐
- Storm InvalidTopologyException: null
异常信息: backtype.storm.generated.InvalidTopologyException: null at backtype.storm.daemon.common$valida ...
- Ionic在windows下的环境配置难题
具体的配置方法网上有很多,可以参考http://my.oschina.net/JeeChou/blog/219699?fromerr=k1hPtBUs,但问题还是会有,我总结的主要有以下几个方面: 1 ...
- 实现过程全纪录——自己写一个“微信朋友圈”(包括移动端与PC端)
一.朋友圈的基本单元--动态 首先定义一个自定义控件用来显示每条动态. 二.运行效果 三.核心解读 PushedMessage 有个PushIndex属性,表示发送消息的index,从0开始递增.每个 ...
- 【Android】 分享一个完整的项目,适合新手!
写这个app之前是因为看了头条的一篇文章:http://www.managershare.com/post/155110,然后心想要不做一个这样的app,让手机计算就行了.也就没多想就去开始整了. ...
- ACM 刷题小技巧【转】
转载自URl-team ACM做题过程中的一些小技巧. 1.一般用C语言节约空间,要用C++库函数或STL时才用C++; cout.cin和printf.scanf最好不要混用. 大数据输入输出时最好 ...
- 使用Navicat Premium 链接本地数据库的方法
在工作中,为了更方便的使用数据库,不免会用到Navicat Premium: 于是在重新安装电脑系统之后,原本想在其中链接一下本地数据库, 只是在链接途中要写的密码一项却不晓得应该写什么,想了很久密码 ...
- JAVA_file(2)
几种不太安全的: 1. new File(path),这个方法的路径到底在那里取决于调用java命令的起始位置定义在哪里, tomcat/bin下面的catalina.bat调用了java,所以在to ...
- JAVA中的基本数类型据
一.基本类型 byte: java中最小的数据类型.1字节/8位.-128(2^7)~127(2^7-1),默认值0. short: 短整型,2字节/16位,取值范围-32768(--2^15)~3 ...
- 小机器人自动回复(python,可扩展开发微信公众号的小机器人)
api来之图灵机器人.我们都知道微信公众号可以有自动回复,我们先用python脚本编写一个简单的自动回复的脚本,利用图灵机器人的api. http://www.tuling123.com/help/h ...
- JSP 学习一
今天开始JSP的学习,作为Web开发人员,对JSP的开发是必不可少的,因此有必要对JSP进行掌握和学习:为此开始JSP的学习: 今日目标: 1)什么是JSP? 2)JSP的运行机制? 3)JSP的三种 ...