<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<title></title>
<style>
ul,
li,
p {
padding: 0;
margin: 0;
}

ul,
li {
list-style: none;
}

#box {
width: 1000px;
height: 600px;
border: 1px solid #000;
margin: 50px auto;
text-align: center;
position: relative;
}

input {
margin-top: 30px;
width: 100px;
height: 30px;
line-height: 30px;
border: 1px solid #ccc;
background: #009999;
color: #fff;
outline: none;
}

ul {
width: 1000px;
height: 500px;
top: 100px;
position: absolute;
background: #fff;
}

ul li {
width: 240px;
height: 250px;
float: left;
padding: 0 5px 10px 5px;
}

ul li img {
width: 240px;
height: 200px;
vertical-align: top;
}

p {
background: #ccc;
height: 30px;
line-height: 30px;
color: #006598;
font-weight: bold;
}
</style>

</head>

<body>
<div id="box">
<input type="button" value="从大到小" />
<input type="button" value="打乱顺序" />
<ul>
<li>
<img src="img/1.jpg" alt="">
<p>1 - 言叶之庭01</p>
</li>
<li>
<img src="" alt="">
<p></p>
</li>
<li>
<img src="" alt="">
<p></p>
</li>
<li>
<img src="" alt="">
<p></p>
</li>
<li>
<img src="" alt="">
<p></p>
</li>
<li>
<img src="" alt="">
<p></p>
</li>
<li>
<img src="" alt="">
<p></p>
</li>
<li>
<img src="" alt="">
<p></p>
</li>
</ul>
</div>
<script>
var aLi = document.getElementsByTagName('li');
var aInp = document.getElementsByTagName('input');
var a = true
var json = {
'Url': ['img/1.jpg', 'img/2.jpg', 'img/3.jpg', 'img/4.jpg', 'img/5.jpg', 'img/6.jpg', 'img/7.jpg', 'img/8.jpg'],
'title': ['1 - 言叶之庭01', '2 - 言叶之庭02', '3 - 言叶之庭03', '4 - 言叶之庭04', '5 - 言叶之庭05', '6 - 言叶之庭06', '7 - 言叶之庭07', '8 - 言叶之庭08']
};
var num = [0, 1, 2, 3, 4, 5, 6, 7];

for(var i = 0; i < aLi.length; i++) {
var oImg = aLi[i].getElementsByTagName("img")[0]
var oP = aLi[i].getElementsByTagName("p")[0]
oImg.src = json.Url[num[i]]     
oP.innerHTML = json.title[num[i]]
}

aInp[0].onclick = function() {

if(a) {
num.sort(function(a, b) {
return b - a
})
for(var i = 0; i < aLi.length; i++) {
var oImg = aLi[i].getElementsByTagName("img")[0]
var oP = aLi[i].getElementsByTagName("p")[0]
oImg.src = json.Url[num[i]]   //打乱数组【Url】顺序,如:初始num[0],打乱了后,比如var num = [1, 0, 2, 3, 4, 5, 6, 7];则num【0】等于1
oP.innerHTML = json.title[num[i]]
}
aInp[0].value = "从小到大"
a = false
} else {
num.sort(function(a, b) {
return a - b
})
for(var i = 0; i < aLi.length; i++) {
var oImg = aLi[i].getElementsByTagName("img")[0]
var oP = aLi[i].getElementsByTagName("p")[0]
oImg.src = json.Url[num[i]]
oP.innerHTML = json.title[num[i]]
}
aInp[0].value = "从大到小"
a = true
}
}

aInp[1].onclick = function() {
num.sort(function(a, b) {
return Math.random() - 0.5
})
for(var i = 0; i < aLi.length; i++) {
var oImg = aLi[i].getElementsByTagName("img")[0]
var oP = aLi[i].getElementsByTagName("p")[0]
oImg.src = json.Url[num[i]]
oP.innerHTML = json.title[num[i]]
}
}
</script>
</body>

</html>

js-随机图片的更多相关文章

  1. js 随机星星 document.createElement(); setAttribute()

    js 随机星星 document.createElement(); setAttribute() <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. ...

  2. springboot搭建项目,实现Java生成随机图片验证码。

    这篇文章主要介绍了如何通过Java如何生成验证码并验证.验证码的作用我想必大家都知道,话不多说开始实施! 首先创建一个springboot项目以下是项目结构,内有utli工具类.存放生成图片验证码方法 ...

  3. JQuery:JQuery基本语法,JQuery选择器,JQuery DOM,综合案例 复选框,综合案例 随机图片

    知识点梳理 课堂讲义 1.JQuery快速入门 1.1.JQuery介绍 jQuery 是一个 JavaScript 库. 框架:Mybatis (jar包) 大工具 插件:PageHelper (j ...

  4. js简单 图片版时钟,带翻转效果

    js简单 图片版时钟,带翻转效果 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"& ...

  5. JS实现图片预加载无需等待

    网站开发时经常需要在某个页面需要实现对大量图片的浏览;用javascript来实现一个图片浏览器,让用户无需等待过长的时间就能看到其他图片 网站开发时经常需要在某个页面需要实现对大量图片的浏览,如果考 ...

  6. js压缩图片base64长度

    var myCanvas=$('.img-container > img').cropper('getCroppedCanvas'); (function (base64){ var image ...

  7. ASP.NET MVC中使用Dropzone.js实现图片的批量拖拽上传

    说在前面 最近在做一个MVC相册的网站(这里),需要批量上传照片功能,所以就在网上搜相关的插件,偶然机会发现Dropzone.js,试用了一下完全符合我的要求,而且样式挺满意的,于是就在我的项目中使用 ...

  8. 使用 FocusPoint.js 实现图片的响应式裁剪

    通常网站的布局都不是单一的.例如图像在电脑.平板和智能手机上可能显示的形状是不同的.特别是如果你使用的是全屏图像,在你必须使用相同的图像文件的情况下,你的主题可能会被截断或完全缺失,或者看起来很尴尬. ...

  9. Lazyr.js – 延迟加载图片(Lazy Loading)

    Lazyr.js 是一个小的.快速的.现代的.相互间无依赖的图片延迟加载库.通过延迟加载图片,让图片出现在(或接近))视窗才加载来提高页面打开速度.这个库通过保持最少选项并最大化速度. 在线演示    ...

  10. Webview加载本地js、图片的方法

    在项目开发中经常会将比较大的js.图片.css等放到app中,而html放服务器,这样在使用时流量较少,加载也比都放服务器上快,其实方法也比较多,网上搜了很久都没结果. 一种是获取服务器返回的html ...

随机推荐

  1. 初学者的分布式Python爬虫教程

    下面是一个超级计算机的排行榜,如果我们能拥有其中任意一个,那么我们就不需要搞什么分布式系统.可是我们买不起,即使买得起,也交不起电费,所以我们只好费脑子搞分布式. 分布式的本质就如上期提到的一个概念: ...

  2. 码代码的小女孩(来自noip贴吧)

    天冷极了,下着雪,又快黑了.这是NOIP的前夜.在这又冷又黑的晚上,一个衣衫破烂的小女孩在机房敲着代码.她从班里逃出来的时候还拿着一本算导,但是有什么用呢?那是一本很破旧的书--那么大,一向是她妈妈垫 ...

  3. Virtual Machine Kernel Panic : Not Syncing : VFS : Unable To Mount Root FS On Unknown-Block (0,0)

    Virtual Machine Kernel Panic : Not Syncing : VFS : Unable To Mount Root FS On Unknown-Block (0,0) 33 ...

  4. JDK8集合类源码解析 - HashMap

    java为数据结构中的映射定义了一个接口java.util.Map,此接口主要有四个常用的实现类,分别是HashMap.Hashtable.LinkedHashMap和TreeMap HashMap ...

  5. [vb.net]控制台进度条的示例

    Private Sub ConsoleProcessBar() Dim isBreak As Boolean = False Dim colorBack As ConsoleColor = Conso ...

  6. JS高级-Date- Error-***Function:

    1. Date: API: 1. 8个单位: FullYear   Month   Date   Day Hours     Minutes   Seconds   Milliseconds 2. 每 ...

  7. unity在一个对象上挂多个一样的脚本怎么获取

    使用GetComponents获取,存到一个该类的数组里

  8. 使用小技巧加快IDEA的开发速度

    一.live template的使用. 1.live template(自定义模板的载入)打开: Ctrl+shift+A 再在命令行中间输入live  template弹出用户自定义的界面.需要自行 ...

  9. 2019.01.19 codeforces893F.Subtree Minimum Query(线段树合并)

    传送门 线段树合并菜题. 题意简述:给一棵带点权的有根树,多次询问某个点ppp子树内距离ppp不超过kkk的点的点权最小值,强制在线. 思路: 当然可以用dfsdfsdfs序+主席树水过去. 然而线段 ...

  10. 2019.01.08 bzoj4543: [POI2014]Hotel加强版(长链剖分+dp)

    传送门 代码: 长链剖分好题. 题意:给你一棵树,问树上选三个互不相同的节点,使得这个三个点两两之间距离相等的方案数. 思路: 先考虑dpdpdp. fi,jf_{i,j}fi,j​表示iii子树中离 ...