Jquery 电视墙

<html>
	<head>
		<meta charset="utf-8">
		<title>电视墙</title>
		<script type="text/javascript" src="lib/easyui/jquery.min.js"/></script>
	</head>
	<style>
		html,body{
			margin:0;
			padding:0;
		}
		.left,.right{
			width:100px;
			float:left;
			height:100%;
			display:table;
		}
		.row {
		   	display:table-row;
		}
		.videocell {
		   	display:table-cell;
			text-align:center;
		   	vertical-align:middle;
		  	height:33.33%;
			padding:20px;
		}
		.cell {
		   	display:table-cell;
		   	vertical-align:middle;
		   	width:100%;
		  	height:100%;
		}
		.center{
			float:left;
			height:100%;
			overflow:hidden;
		}
		.table{
			margin: auto;
			height:100%;
			display:table;
			transition: All 1s ease-in-out;
		}
		#leftbtn{
			display:block;
			width:48px;
			height:48px;
		    margin:auto;
			background:url(image/left.png) no-repeat;
		}
		#rightbtn{
			display:block;
			width:48px;
			height:48px;
		    margin:auto;
			background:url(image/right.png) no-repeat;
		}
		#leftbtn:HOVER{
			background:url(image/left1.png) no-repeat;
		}
		#rightbtn:HOVER{
			background:url(image/right1.png) no-repeat;
		}
		.widget{
			width:192px;
			height:108px;
			transition: All 1s ease-in-out;
		}
		.point{
			position:absolute;
			left:50%;
			top:50%;
			display:none;
		}
        .pop{
        	position:absolute;
			width:960px;
        	height:540px;
        	left:-480px;
        	top:-270px;
		}
		.image{
			position:fixed;
			width:192px;
        	height:108px;
			transition: All 2s ease-in-out;
		}
	</style>
	<body>
		<div class="left">
			<div class="cell">
				<a href="#" id="leftbtn"></a>
			</div>
		</div>
		<div class="center">
			<div class="table">
				<div class="row">
				</div>
				<div class="row">
				</div>
				<div class="row">
				</div>
			</div>
		</div>
		<div class="right">
			<div class="cell">
				<a href="#" id="rightbtn"></a>
			</div>
		</div>
		<div class="point">
            <div class="pop">
            </div>
        </div>
		<script type="text/javascript">
			$('.center').css('width',($(document).width()-200)+'px');
			var start = 0;
			var col = 4;//列
			var row = 3;//行
			var videoArr = [
			    {img:'image/widget.jpg',name:'widget1'},
			    {img:'image/widget.jpg',name:'widget2'},
			    {img:'image/widget.jpg',name:'widget3'},
			    {img:'image/widget2.jpg',name:'widget4'},
			    {img:'image/widget2.jpg',name:'widget5'},
			    {img:'image/widget2.jpg',name:'widget6'},
			    {img:'image/widget2.jpg',name:'widget7'},
			    {img:'image/widget.jpg',name:'widget8'},
			    {img:'image/widget.jpg',name:'widget9'},
			    {img:'image/widget3.jpg',name:'widget10'},
			    {img:'image/widget3.jpg',name:'widget11'},
			    {img:'image/widget.jpg',name:'widget12'},
			    {img:'image/widget3.jpg',name:'widget13'},
			    {img:'image/widget3.jpg',name:'widget14'},
			    {img:'image/widget3.jpg',name:'widget15'},
			    {img:'image/widget4.jpg',name:'widget16'},
			    {img:'image/widget2.jpg',name:'widget17'},
			    {img:'image/widget.jpg',name:'widget18'},
			    {img:'image/widget.jpg',name:'widget19'},
			    {img:'image/widget3.jpg',name:'widget20'},
			    {img:'image/widget.jpg',name:'widget21'},
			    {img:'image/widget.jpg',name:'widget22'},
			    {img:'image/widget.jpg',name:'widget23'},
			    {img:'image/widget2.jpg',name:'widget24'},
			    {img:'image/widget2.jpg',name:'widget25'},
			    {img:'image/widget2.jpg',name:'widget26'},
			    {img:'image/widget2.jpg',name:'widget27'},
			    {img:'image/widget.jpg',name:'widget28'},
			    {img:'image/widget.jpg',name:'widget29'},
			    {img:'image/widget3.jpg',name:'widget30'}
			];
			createCell();
			showLR();
			addListener();
			$('#leftbtn').click(function(){
				if(start<row)return;
				start -= row;
				showLR();
				$('.table').css('transform','translateX(-'+Math.floor($('.center').width()/col)*(start/row)+'px)');
			});
			$('#rightbtn').click(function(){
				start += row;
				showLR();
				$('.table').css('transform','translateX(-'+Math.floor($('.center').width()/col)*(start/row)+'px)');
			});
			function createCell(){
				var max = Math.ceil(videoArr.length/row);
				for(var $i=0;$i<max;$i++){
					$('.row').each(function(i){
						if(($i*row+i)<videoArr.length){
							var item = videoArr[$i*row+i];
							$(this).append('<div class="videocell">'+
									'<a href="javascript:void(0)"><img id="img_'+($i*row+i)+'" class="widget" src="'+item.img+
									'" title="'+item.name+
									'"></a></div>');
							$(this).find('img').ready(function(){
								$('.widget').css('box-shadow','0 2px 1px 0 #963004, 0 4px 1px -1px #852A03, 0 6px 1px -2px #812802, 0 8px 1px -3px #7D2803, 0 10px 1px -4px #661F01, 0 12px 1px -5px #521A02, 0 14px 1px -6px #401601, 0 16px 1px -7px #3C1501, 0 18px 1px -8px #2D1001, 0 20px 1px -9px #110500, 0 6px 1px rgba(0, 0, 0, 0.1), 0 0 5px rgba(0, 0, 0, 0.1), 0 10px 20px rgba(0, 0, 0, 0.75), 0 20px 4px -6px rgba(0, 0, 0, 0.9), 0 45px 5px -5px rgba(0, 0, 0, 0.05), 0 35px 10px -5px rgba(0, 0, 0, 0.1), 0 25px 55px 5px rgba(0, 0, 0, 0.15)');
							});
							$('.videocell').css('width',Math.floor($('.center').width()/col)+'px');
						}else{
							$(this).append('<div class="videocell"></div>');	
						}
					});
				}
				$('.table').css('width',Math.floor($('.center').width()/col)*max+'px');
			}
			function showLR(){
				if(start<row){
					$('#leftbtn').hide();
				}else{
					$('#leftbtn').show();
				}
				if(start>(videoArr.length-(col*row+1))){
					$('#rightbtn').hide();
				}else{
					$('#rightbtn').show();
				}
			}
			function addListener(){
				$('.widget').click(function(){
					var index = parseInt($(this).attr('id').split('_')[1]);
					var item = videoArr[index];
					showImg(item.img,$(this).offset().left,$(this).offset().top);
				});
			}
			function showImg(src,x,y){
				$('.pop').html('<img class="image" src="'+src+'">');
				$('.image').css('left',x+'px');
				$('.image').css('top',y+'px');
				$('.point').show();
				$('.image').click(function(){
					hideImg();
				});
				setTimeout(function(){
					var left = ($(window).width()-960)/2;
					var top = ($(window).height()-540)/2;
					$('.image').css('left',left+'px');
					$('.image').css('top',top+'px');
					$('.image').css('width','960px');
					$('.image').css('height','540px');
				}, 100);
			}
			function hideImg(){
				$('.pop').empty();
				$('.point').hide();
			}
		</script>
	</body>
</html>

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值