退出
充值

js+css3随机排列照片墙展示特效

作者/代码整理:  (转载请附加本文地址,带有“懒人原生”字样的谢绝转载) 发布日期:2020-07-17
js+css3实现的随机排列照片墙展示特效,随机生成相册图片墙布局,点击图片可放大查看。


js代码

<script type="text/javascript">
	window.addEventListener('load',function(){
		//获取事件源
		var ul = document.getElementById('ul');
		//获取图片可活动区域
		var windowW = document.documentElement.clientWidth - 340;
		var windowH = document.documentElement.clientHeight - 191;
		//循环遍历
		for(var i=0;i<10;i++){
			//创建li标签
			var li = document.createElement('li');
			//追加到ul的子元素
			ul.appendChild(li);
			//创建img标签
			var img = document.createElement('img');
			li.appendChild(img);
			// 动态插入图片
			img.setAttribute('src','img/'+i+'.jpg');
		}
		//获取所有的li 
		var allLi = ul.children;
		//遍历
		for(var j=0;j<allLi.length;j++){
			//取出单个li
			var li = allLi[j];
			//随机获取位置
			li.style.left = parseInt(Math.random() * windowW) + 'px';
			li.style.top = parseInt(Math.random() * windowH) + 'px';
			//获取随机角度
			li.style.transform = 'rotate(' + Math.random() * 360 + 'deg)';
			//监听点击事件
			li.addEventListener('click',function(){
				for(var i=0;i<allLi.length;i++){
					allLi[i].className = '';
				}
				this.className = 'checked';
			});
		}
	})
</script>