jquery创建a
Creating photo gallery using SmartGallery (jQuery) Today we continue our overview of available photo galleries. The next gallery is SmartGallery. This is light-weight gallery that allows us to have thumbnail navigation, auto image scaling, 12 transition effects (at the current moment). Everything is controlled by a options of this gallery. By default, the gallery expects that all the necessary HTML structure is prepared (with necessary images). Our task is to create a script that will automatically load the necessary sets of images (as you may remember – our main goal is to display pictures of different members). This gallery requires the JQuery library ($. get function).
使用SmartGallery(jQuery)创建照片库今天,我们继续对可用照片库进行概述。 下一个画廊是SmartGallery。 这是一个轻量级的图片库,使我们能够进行缩略图导航,自动图像缩放,12种过渡效果(当前)。 一切都由该画廊的选项控制。 默认情况下,图库期望所有必要HTML结构都已准备好(带有必要的图像)。 我们的任务是创建一个脚本,该脚本将自动加载必要的图像集(您可能还记得–我们的主要目标是显示不同成员的图片)。 此库需要JQuery库($。get函数)。
First of all – you can test the demo:
首先–您可以测试演示:
现场演示
Now, let’s start coding !
现在,让我们开始编码!
步骤1. HTML (Step 1. HTML)
As usual, we start with the HTML. This is source code of our sample:
和往常一样,我们从HTML开始。 这是我们示例的源代码:
index.html (index.html)
<link rel="stylesheet" href="css/main.css" type="text/css" />
<script type="text/javascript" src="js/jquery-1.5.2.min.js"></script>
<script type="text/javascript" src="js/smart-gallery.min.js"></script>
<script type="text/javascript" src="js/main.js"></script>
<div class="example">
<h3><a href="#">SmartGallery example</a></h3>
<div class="smart_gallery"></div>
</div>
<link rel="stylesheet" href="css/main.css" type="text/css" />
<script type="text/javascript" src="js/jquery-1.5.2.min.js"></script>
<script type="text/javascript" src="js/smart-gallery.min.js"></script>
<script type="text/javascript" src="js/main.js"></script>
<div class="example">
<h3><a href="#">SmartGallery example</a></h3>
<div class="smart_gallery"></div>
</div>
As you can see – the gallery <div class="smart_gallery"></div> is empty. We will load imaged dynamically.
如您所见–图库<div class =“ smart_gallery”> </ div>为空。 我们将动态加载图像。
步骤2. CSS (Step 2. CSS)
The following CSS file contains styles of our demo and the gallery:
以下CSS文件包含我们的演示和库的样式:
css / main.css (css/main.css)
body{background:#eee;font-family:Verdana, Helvetica, Arial, sans-serif;margin:0;padding:0}
.example{background:#FFF;width:572px;border:1px #000 solid;margin:20px auto;padding:15px;-moz-border-radius: 3px;-webkit-border-radius: 3px}
/*SmartGallery styles*/
.min-gallery
{
width:572px;
height:465px;
border:solid 1px black;
background-color:Black;
background:url(../images/bg.jpg);
margin:auto;
}
.min-gallery .preview
{
width:500px;
height:335px;
margin-top:36px;
margin-left:36px;
margin-right:36px;
position:relative;
border:solid 2px black;
overflow:hidden;
background-color:White;
}
.min-gallery .preview img
{
position:absolute;
}
.min-gallery .bottom
{
width:100%;
height:98px;
color:Gray;
font-family:Arial;
font-size:1em;
font-weight:bold;
overflow:hidden;
}
.min-gallery .bottom .long
{
width:100%;
}
.close
{
text-align:center;
color:white;
font-family:Verdana;
font-size:10px;
font-weight:normal;
text-transform:uppercase;
cursor:pointer;
width:100%;
padding:4px;
}
.min-gallery .bottom .short
{
width:100%;
height:100%;
}
.min-gallery .bottom .short .left
{
padding-left:5%;
padding-top:42px;
width:35%;
float:left;
}
.min-gallery .bottom .short .middle
{
width:20%;
float:left;
}
.min-gallery .bottom .short .right
{
width:35%;
float:left;
text-align:right;
padding-right:5%;
padding-top:42px;
}
.min-gallery .bottom .short .middle > div
{
float:left;
}
.short-thumbnail-container
{
width:36px;
padding-top:30px;
cursor:pointer;
}
.gallery-nav-left
{
cursor:pointer;
width:12px;
margin-right:25px;
height:18px;
background-image:url(../images/arrow-left.png);
background-repeat:no-repeat;
background-position:center;
margin-top:40px;
}
.gallery-nav-right
{
width:12px;
margin-left:25px;
height:18px;
cursor:pointer;
background-image:url(../images/arrow-right.png);
background-repeat:no-repeat;
background-position:center;
margin-top:40px;
}
.thumbnail-button
{
width:8px;
height:8px;
margin:2px;
background-image:url(../images/box.jpg);
float:left;
}
.active-image
{
z-index:100;
display:block;
}
.inactive-image
{
}
.gallery-caption
{
position:absolute;
width:100%;
height:100px;
background-color:Black;
widht:100%;
z-index:102;
color:gray;
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
filter:alpha(opacity=70);
-moz-opacity:0.7;
-khtml-opacity:0.7;
opacity:0.7;
padding:8px;
}
.thumbnails
{
width:420px;
margin:auto;
padding:0;
padding:22px 0px 0px 0px;
position:relative;
}
.thumbnails-back, .thumbnails-forward
{
float:left;
width:13px;
height:40px;
position:relative;
top:6px;
cursor:pointer;
}
.thumbnails-back
{
background-image:url(../images/arrow-left.png);
background-repeat:no-repeat;
background-position:left;
}
.thumbnails-forward
{
background-image:url(../images/arrow-right.png);
background-repeat:no-repeat;
background-position:right;
}
.thumbnails-contents
{
width:390px;
height:48px;
float:left;
position:relative;
overflow:hidden;
}
.thumbnails-contents > div
{
position:absolute;
width:100%;
}
.thumbnails-contents > div > div
{
float:left;
}
.thumbnails-contents img
{
width:43px;
height:43px;
margin-left:9px;
margin-right:9px;
border:solid 2px black;
}
.hidden
{
display:none;
}
.visible
{
display:block;
}
.thumbnail-active
{
filter:alpha(opacity=100);
opacity:1.0;
cursor:pointer;
}
.thumbnail-inactive
{
filter:alpha(opacity=50);
opacity:0.5;
cursor:pointer;
}
.thumbnail-text
{
color:#7A7677;
font-weight:bold;
text-align:left;
display:block;
padding:10px 2px 2px 0px;
}
.clear-fix
{
clear:both;
}
body{background:#eee;font-family:Verdana, Helvetica, Arial, sans-serif;margin:0;padding:0}
.example{background:#FFF;width:572px;border:1px #000 solid;margin:20px auto;padding:15px;-moz-border-radius: 3px;-webkit-border-radius: 3px}
/*SmartGallery styles*/
.min-gallery
{
width:572px;
height:465px;
border:solid 1px black;
background-color:Black;
background:url(../images/bg.jpg);
margin:auto;
}
.min-gallery .preview
{
width:500px;
height:335px;
margin-top:36px;
margin-left:36px;
margin-right:36px;
position:relative;
border:solid 2px black;
overflow:hidden;
background-color:White;
}
.min-gallery .preview img
{
position:absolute;
}
.min-gallery .bottom
{
width:100%;
height:98px;
color:Gray;
font-family:Arial;
font-size:1em;
font-weight:bold;
overflow:hidden;
}
.min-gallery .bottom .long
{
width:100%;
}
.close
{
text-align:center;
color:white;
font-family:Verdana;
font-size:10px;
font-weight:normal;
text-transform:uppercase;
cursor:pointer;
width:100%;
padding:4px;
}
.min-gallery .bottom .short
{
width:100%;
height:100%;
}
.min-gallery .bottom .short .left
{
padding-left:5%;
padding-top:42px;
width:35%;
float:left;
}
.min-gallery .bottom .short .middle
{
width:20%;
float:left;
}
.min-gallery .bottom .short .right
{
width:35%;
float:left;
text-align:right;
padding-right:5%;
padding-top:42px;
}
.min-gallery .bottom .short .middle > div
{
float:left;
}
.short-thumbnail-container
{
width:36px;
padding-top:30px;
cursor:pointer;
}
.gallery-nav-left
{
cursor:pointer;
width:12px;
margin-right:25px;
height:18px;
background-image:url(../images/arrow-left.png);
background-repeat:no-repeat;
background-position:center;
margin-top:40px;
}
.gallery-nav-right
{
width:12px;
margin-left:25px;
height:18px;
cursor:pointer;
background-image:url(../images/arrow-right.png);
background-repeat:no-repeat;
background-position:center;
margin-top:40px;
}
.thumbnail-button
{
width:8px;
height:8px;
margin:2px;
background-image:url(../images/box.jpg);
float:left;
}
.active-image
{
z-index:100;
display:block;
}
.inactive-image
{
}
.gallery-caption
{
position:absolute;
width:100%;
height:100px;
background-color:Black;
widht:100%;
z-index:102;
color:gray;
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
filter:alpha(opacity=70);
-moz-opacity:0.7;
-khtml-opacity:0.7;
opacity:0.7;
padding:8px;
}
.thumbnails
{
width:420px;
margin:auto;
padding:0;
padding:22px 0px 0px 0px;
position:relative;
}
.thumbnails-back, .thumbnails-forward
{
float:left;
width:13px;
height:40px;
position:relative;
top:6px;
cursor:pointer;
}
.thumbnails-back
{
background-image:url(../images/arrow-left.png);
background-repeat:no-repeat;
background-position:left;
}
.thumbnails-forward
{
background-image:url(../images/arrow-right.png);
background-repeat:no-repeat;
background-position:right;
}
.thumbnails-contents
{
width:390px;
height:48px;
float:left;
position:relative;
overflow:hidden;
}
.thumbnails-contents > div
{
position:absolute;
width:100%;
}
.thumbnails-contents > div > div
{
float:left;
}
.thumbnails-contents img
{
width:43px;
height:43px;
margin-left:9px;
margin-right:9px;
border:solid 2px black;
}
.hidden
{
display:none;
}
.visible
{
display:block;
}
.thumbnail-active
{
filter:alpha(opacity=100);
opacity:1.0;
cursor:pointer;
}
.thumbnail-inactive
{
filter:alpha(opacity=50);
opacity:0.5;
cursor:pointer;
}
.thumbnail-text
{
color:#7A7677;
font-weight:bold;
text-align:left;
display:block;
padding:10px 2px 2px 0px;
}
.clear-fix
{
clear:both;
}
步骤3. JS (Step 3. JS)
The following JS file initializes the gallery:
以下JS文件初始化图库:
js / main.js (js/main.js)
jQuery(window).load(function() {
$.get('feed.php', function(data){
$('.smart_gallery').append(data);
$('.smart_gallery').gallery({
random: true,
circular: true,
masked: true,
animation: "blind",
noofthumbnails: 6,
thumbnailscrollspeed: 2000,
animationspeed: 1000,
stickthumbnails: true,
imagedisplaytime: 3000
});
});
});
jQuery(window).load(function() {
$.get('feed.php', function(data){
$('.smart_gallery').append(data);
$('.smart_gallery').gallery({
random: true,
circular: true,
masked: true,
animation: "blind",
noofthumbnails: 6,
thumbnailscrollspeed: 2000,
animationspeed: 1000,
stickthumbnails: true,
imagedisplaytime: 3000
});
});
});
Well, when the page is loaded, it begins loading additional information (about custom images) from feed.php file using jQuery. Then, the received data goes (append) directly inth the $(‘.smart_gallery’). Finally – it invokes the initialization of our gallery with necessary params. Full list of possible parameters is provided in the end of the article.
好了,页面加载后,它开始使用jQuery从feed.php文件中加载其他信息(关于自定义图像)。 然后,接收到的数据直接(附加)到$('。smart_gallery')中。 最后–它使用必要的参数调用画廊的初始化。 文章结尾提供了可能的参数的完整列表。
js / jquery-1.5.2.min.js和js / smart-gallery.min.js (js/jquery-1.5.2.min.js and js/smart-gallery.min.js)
This is main jQuery library with gallery plugin. It is available in our package.
这是带有图库插件的主要jQuery库。 它在我们的包装中。
步骤4. PHP (Step 4. PHP)
The following file is the data generator of our images:
以下文件是我们图像的数据生成器:
feed.php (feed.php)
<?
// define template for gallery
$sImageTemplate = <<<HTML
<a href="{fileurl}" title="{title}"><img src="{fileurl}" /></a>
HTML;
$sImages = '';
$sFolder = 'data_images/';
$aUnits = array( // obtaining array of used images
'pic1.jpg' => 'Image 1', 'pic2.jpg' => 'Image 2', 'pic3.jpg' => 'Image 3', 'pic4.jpg' => 'Image 4',
'pic5.jpg' => 'Image 5', 'pic6.jpg' => 'Image 6', 'pic7.jpg' => 'Image 7', 'pic8.jpg' => 'Image 8',
'pic9.jpg' => 'Image 9', 'pic10.jpg' => 'Image 10'
);
foreach ($aUnits as $sFileName => $sTitle) { // preparing images data
$sImages .= strtr($sImageTemplate, array('{fileurl}' => $sFolder . $sFileName, '{title}' => $sTitle));
}
echo $sImages;
?>
<?
// define template for gallery
$sImageTemplate = <<<HTML
<a href="{fileurl}" title="{title}"><img src="{fileurl}" /></a>
HTML;
$sImages = '';
$sFolder = 'data_images/';
$aUnits = array( // obtaining array of used images
'pic1.jpg' => 'Image 1', 'pic2.jpg' => 'Image 2', 'pic3.jpg' => 'Image 3', 'pic4.jpg' => 'Image 4',
'pic5.jpg' => 'Image 5', 'pic6.jpg' => 'Image 6', 'pic7.jpg' => 'Image 7', 'pic8.jpg' => 'Image 8',
'pic9.jpg' => 'Image 9', 'pic10.jpg' => 'Image 10'
);
foreach ($aUnits as $sFileName => $sTitle) { // preparing images data
$sImages .= strtr($sImageTemplate, array('{fileurl}' => $sFolder . $sFileName, '{title}' => $sTitle));
}
echo $sImages;
?>
The code is fairly simple, in the begining – it is template for the image list, then – it walks through the images, makes replacements, and then – it prints the result of our list (back to JS function)
首先,代码很简单–它是图像列表的模板,然后–遍历图像,进行替换,然后–打印列表的结果(返回JS函数)
步骤5.图片 (Step 5. Images)
Our SmartGallery gallery uses next image files:
我们的SmartGallery图库使用下一个图像文件:
该库的所有可能参数(当前)的表: (Table with all possible params (at the current moment) of this gallery:)
Param | Type | Default | Description |
---|---|---|---|
random | boolean | true | If you going to use single transition, set to ‘false’ |
circular | boolean | true | Is thumb gallery circular? |
masked | boolean | true | All images in thumbs line will have mask, and, onhover – mask disappear |
animation | string | blind | Transition effect (fadein, blind, fallingbars, appear, fillin, explode, jumble, risingbars, paint, diagonal, crunchingbars, slidein) |
noofthumbnails | int | 6 | Amount of thumbs displayed in time |
thumbnailscrollspeed | int | 2000 | Speed, where thumbnails scroll back and forth (ms) |
animationspeed | int | 1000 | Speed of animation (ms) |
stickthumbnails | boolean | false | In case of false – bar with thumbnails will closing automatically |
imagedisplaytime | int | 3000 | Time of displaying of single image (ms) |
参数 | 类型 | 默认 | 描述 |
---|---|---|---|
随机 | 布尔值 | 真正 | 如果要使用单一过渡,请设置为“ false” |
圆 | 布尔值 | 真正 | 拇指画廊是圆形的吗? |
蒙面的 | 布尔值 | 真正 | 大拇指线上的所有图像都将带有蒙版,并且悬停–蒙版消失 |
动画 | 串 | 盲 | 过渡效果(淡入淡出,瞎眼,下降条,出现,填充,爆炸,混乱,上升条,油漆,对角线,拐杖,滑动条) |
非缩略图 | 整型 | 6 | 及时显示的拇指数量 |
缩略图滚动速度 | 整型 | 2000 | 速度,缩略图来回滚动(毫秒) |
动画速度 | 整型 | 1000 | 动画速度(毫秒) |
指甲贴 | 布尔值 | 假 | 如果为假-带缩略图的栏将自动关闭 |
影像显示时间 | 整型 | 3000 | 单张图像显示时间(毫秒) |
现场演示
[sociallocker]
[社交储物柜]
打包下载
[/sociallocker]
[/ sociallocker]
结论 (Conclusion)
Today we explained how to build the new jQuery gallery. I’m sure, that you will be happy to use it in your projects. Good luck!
今天,我们解释了如何构建新的jQuery库。 我敢肯定,您会很高兴在项目中使用它。 祝好运!
翻译自: https://www.script-tutorials.com/creating-photo-gallery-using-smartgallery-jquery/
jquery创建a