以下是 jQuery图文排版图片预览特效代码 的示例演示效果:
部分效果截图:
HTML代码(index.html):
<!doctype html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery图文排版图片预览特效</title>
<link rel="stylesheet" type="text/css" href="css/default.css">
<link href="css/Icomoon/style.css" rel="stylesheet" type="text/css" />
<link href="css/main.css" rel="stylesheet" type="text/css"/>
<link href="css/pop-up-gallery1.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="fullscreen">
<div id="fullscreen-inner">
<div id="fullscreen-inner-left" class="fullscreen-inner-button"><span class="icon-caret-left"></span></div>
<div id="fullscreen-inner-right" class="fullscreen-inner-button"><span class="icon-caret-right"></span></div>
<div id="fullscreen-inner-close" class="fullscreen-inner-button"><span class="icon-close"></span></div>
<div id="fullscreen-image"></div>
</div>
</div>
<div id="wrapper">
<div id="wrapper-inner">
<div class="wrapper-inner-title">True Story.</div>
<div class="wrapper-inner-content">
<div class="wrapper-inner-content-image">
<img src="_assets/greece1.jpg"/>
<img src="_assets/greece2.jpg"/>
<img src="_assets/greece3.jpg"/>
<img src="_assets/greece4.jpg"/>
<img src="_assets/greece5.jpg"/>
<img src="_assets/greece6.jpg"/>
<img src="_assets/greece7.jpg"/>
<img src="_assets/greece8.jpg"/>
<img src="_assets/greece9.jpg"/>
<div class="wrapper-inner-content-image-hover">
<div class="wrapper-inner-content-image-hover-cercle">
<span class="icon-search"></span>
</div>
</div>
</div>
</div>
<div class="wrapper-inner-content">
<div class="wrapper-inner-content-text" style="margin-right:35px;">
<p>Morbi faucibus euismod lectus. Morbi rhoncus dignissim tellus eget egestas. Praesent id leo quis massa posuere malesuada nec ut velit. Vivamus tincidunt nunc non sem bibendum posuere. Phasellus commodo dui non sapien aliquam, nec luctus metus ornare. Nullam imperdiet sollicitudin sodales. Morbi quis accumsan enim. Nulla sodales non quam vel dignissim. Donec at ipsum a odio aliquet pellentesque ut ut libero. Sed id dolor nisi. Curabitur eu odio nec tellus scelerisque ultrices ut at nunc. Sed a fringilla ligula.</p>
<p>Aenean ullamcorper tortor vitae lorem sollicitudin luctus.</p>
</div>
<div class="wrapper-inner-content-image">
<img src="_assets/venice1.jpg"/>
<img src="_assets/venice2.jpg"/>
<img src="_assets/venice3.jpg"/>
<img src="_assets/venice4.jpg"/>
<img src="_assets/venice5.jpg"/>
<img src="_assets/venice6.jpg"/>
<img src="_assets/venice7.jpg"/>
<img src="_assets/venice8.jpg"/>
<img src="_assets/venice9.jpg"/>
<div class="wrapper-inner-content-image-hover">
<div class="wrapper-inner-content-image-hover-cercle">
<span class="icon-search"></span>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="js/jquery-2.1.1.min.js" type="text/javascript"></script>
<script type="text/javascript" src="js/pop-up-gallery1.js"></script>
</body>
</html>
JS代码(pop-up-gallery1.js):
$(window).load(function (){
$('#wrapper-inner-selection-button').click(function(){
event.stopPropagation();
$('#wrapper-inner-selection-button-dropdown').fadeToggle(250);
}
);
$('html').click(function(){
$('#wrapper-inner-selection-button-dropdown').fadeOut(250);
}
);
$('.wrapper-inner-content-image').each(function(){
var this_element = $(this);
this_element.height(this_element.find('img:first-child').height());
this_element.find('.wrapper-inner-content-image-hover').height(this_element.find('img:first-child').height());
;
}
);
function resize_popup(){
var window_width = window.innerWidth;
var window_height = window.innerHeight;
var max_image_width = window.innerWidth - ((35*2)+(window_width/100*40));
var max_image_height = window.innerHeight - 200;
var image_width = $('#fullscreen-image img').width();
var image_height = $('#fullscreen-image img').height();
var image_WH_ratio = image_width/image_height;
var image_HW_ratio = image_height/image_width;
var image_new_width = max_image_height*image_WH_ratio;
var image_new_height = max_image_width*image_HW_ratio;
$('#fullscreen-image').width(max_image_width);
$('#fullscreen-image').height(max_image_height);
if(max_image_width > 2 && max_image_height > 2){
if(image_new_height>max_image_height){
$('#fullscreen-image img').width(image_new_width);
$('#fullscreen-image img').height(max_image_height);
$('#fullscreen-image img').css('margin-top',-max_image_height/2);
$('#fullscreen-image img').css('margin-left',-image_new_width/2);
}
else{
$('#fullscreen-image img').width(max_image_width);
$('#fullscreen-image img').height(image_new_height);
$('#fullscreen-image img').css('margin-top',-image_new_height/2);
$('#fullscreen-image img').css('margin-left',-max_image_width/2);
}
}
}
function open_close_gallery(){
var this_element = '';
$('.wrapper-inner-content-image-hover').click(function(){
$('#fullscreen-image').find('img').remove();
this_element = $(this);
this_element.parent().find('img').clone().appendTo('#fullscreen-image');
$('#fullscreen').show();
$('#fullscreen').removeClass('fadeOut').addClass('fadeIn');
$('#fullscreen-image').removeClass('fadeOutDown').addClass('fadeInDown');
resize_popup();
}
);
$('#fullscreen-inner-close').click(function(){
$('#fullscreen').removeClass('fadeIn').addClass('fadeOut').delay(500).hide(0);
$('#fullscreen-image').removeClass('fadeInDown').addClass('fadeOutDown');
}
);
}
function next_slide(){
$('#fullscreen-image img:last-child').insertBefore( $('#fullscreen-image img:first-child') );
}
function previous_slide(){
$('#fullscreen-image img:first-child').insertAfter( $('#fullscreen-image img:last-child') );
}
$(document).keydown(function(e){
switch(e.which){
case 37:// left previous_slide();
break;
case 38:// up next_slide();
break;
case 39:// right next_slide();
break;
case 40:// down previous_slide();
break;
default:return;
// exit this handler for other keys}
e.preventDefault();
// prevent the default action (scroll / move caret)}
);
resize_popup();
$( window ).resize(function(){
resize_popup();
}
);
open_close_gallery();
$('#fullscreen-inner-right').click(function(){
next_slide();
}
);
$('#fullscreen-inner-left').click(function(){
previous_slide();
}
);
}
);
CSS代码(main.css):
body{margin:0px;padding:0px;background-color:#FFFFFF;font-family:"Microsoft YaHei","宋体","Segoe UI","Lucida Grande",Helvetica,Arial,sans-serif,FreeSans,Arimo;}
#header{background-color:#3f8dbf;float:left;width:100%;height:50px;color:rgba(255,255,255,1);line-height:50px;position:fixed;left:0px;top:0px;z-index:1;}
#header a{color:rgba(255,255,255,1);text-decoration:none;display:block;font-size:15px;}
#header-left{float:left;height:50px;}
#header-left:hover #header-left-icon{background-color:#3F8DBF;}
#header-left:hover #header-left-text{background-color:#599BC8;}
#header-left-icon{float:left;height:50px;width:50px;text-align:center;background-color:#35759F;-webkit-transition:background 0.5s;-moz-transition:background 0.5s;-o-transition:background 0.5s;transition:background 0.5s;}
#header-left-icon a{font-size:25px;}
#header-left-text{float:left;height:50px;-webkit-transition:background 0.5s;-moz-transition:background 0.5s;-o-transition:background 0.5s;transition:background 0.5s;}
#header-left-text a{padding-left:20px;padding-right:20px;}
#header-right{float:right;height:50px;}
#header-right:hover #header-right-icon{background-color:#3F8DBF;}
#header-right:hover #header-right-text{background-color:#599BC8;}
#header-right-icon{float:right;height:50px;width:50px;text-align:center;background-color:#35759F;-webkit-transition:background 0.5s;-moz-transition:background 0.5s;-o-transition:background 0.5s;transition:background 0.5s;}
#header-right-text{float:right;height:50px;-webkit-transition:background 0.5s;-moz-transition:background 0.5s;-o-transition:background 0.5s;transition:background 0.5s;}
#header-right-text a{padding-right:20px;padding-left:20px;}
#awesome{margin-top:50px !important;}
#wrapper{float:left;height:900px;width:100%;}
#wrapper-inner{width:850px;margin-right:auto;margin-left:auto;height:900px;margin-top:50px;}
#wrapper-inner-selection{float:left;height:35px;width:100%;}
#wrapper-inner-selection-button{background-color:rgba(255,206,82,1);float:right;height:35px;color:#ffffff;padding-left:20px;font-size:14px;padding-right:15px;line-height:33px;-webkit-transition:background-color 0.3s;-moz-transition:background-color 0.3s;-o-transition:background-color 0.3s;transition:background-color 0.3s;position:relative;}
#wrapper-inner-selection-button:hover{cursor:pointer;background-color:#ffb700;}
#wrapper-inner-selection-button span{margin-left:10px;}
#wrapper-inner-selection-button-dropdown{width:100%;background-color:rgba(255,255,255,1);position:absolute;top:35px;left:0px;display:none;-webkit-animation-duration:0.5s;animation-duration:0.5s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-backface-visibility:visible !important;backface-visibility:visible !important;-webkit-animation-name:flipInY;animation-name:flipInY;-webkit-box-shadow:0px 0px 20px 5px rgba(0,0,0,0.05);-moz-box-shadow:0px 0px 20px 5px rgba(0,0,0,0.05);box-shadow:0px 0px 20px 5px rgba(0,0,0,0.05);}
#wrapper-inner-selection-button-dropdown a{display:block;padding-left:20px;line-height:35px;text-decoration:none;color:#bebfcc;font-size:14px;}
#wrapper-inner-selection-button-dropdown a:hover{background-color:rgba(250,250,250,1);}
@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0;}
40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;}
60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1;}
80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg);}
100%{-webkit-transform:perspective(400px);transform:perspective(400px);}
}
@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0;}
40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;}
60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1;}
80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg);}
100%{-webkit-transform:perspective(400px);transform:perspective(400px);}
}
.wrapper-inner-title{width:100%;margin-top:30px;font-size:30px;color:#bebfcc;float:left;text-align:center;margin-bottom:50px;}
.wrapper-inner-content{float:left;width:100%;margin-bottom:30px;}
.wrapper-inner-content-text{float:left;width:500px;}
.wrapper-inner-content-text p{margin-top:0px;margin-bottom:25px;color:#bebfcc;font-size:15px;line-height:23px;}