【问题标题】:Build Dynamic Image Gallery Jquery构建动态图库 Jquery
【发布时间】:2011-01-14 13:32:44
【问题描述】:

我正在尝试建立这个画廊:

如何使用 jquery 构建此图片库,并根据文件夹中的图片数量自动填充缩略图?我想单击缩略图并让它打开一个新页面或具有更大图像的 div。

我还想让每个缩略图一个接一个地淡入。

【问题讨论】:

  • 您想要从头到尾执行此操作所需的每个子任务的概念概述,还是想要实际代码?
  • 我不是编码员...我只是一名设计师,他试图变得更诚实。我试着在我得到代码时学习它

标签: jquery image-gallery


【解决方案1】:

此答案仅适用于您问题的 HTML/CSS/jQuery 部分。

如果您想在文件夹中显示图像而不是迷你 Google 徽标,则需要一些用 PHP 或 ASP.NET 等语言编写的简单服务器端代码。如果你使用 PHP,我可以为你写这个。


我已经在 IE7/8、Firefox、Chrome 中测试过了。

我尽量保持简单,同时尽量保留您要求的详细信息:

Live Demo

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Demo Gallery</title>
<style type="text/css">
html, body {
    margin: 0; padding: 0; border: 0
}
#container {
    border: 1px solid red;
    background: #eee;
    width: 377px;
    height: 355px;
    padding: 0 0 5px 0;
    overflow-y: scroll
}
#container img {
    border: 1px solid red;
    float: left; margin: 5px 0 0 5px
}
</style>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {

    //fill container with test images
    $('#container').append(new Array(60).join('<a href="http://www.google.com/images/logos/ps_logo2.png" target="_blank"><img src="http://www.google.com/images/logos/ps_logo2.png" width="64" height="64" /></a>'))

    var $images = $('#container img');

    $images.hide();

    $images.each(function(index) {
        $(this).delay(index * 50).fadeIn();
    });

});
</script>
</head>

<body>

<div id="container">
    <a href="http://www.google.com/images/logos/ps_logo2.png" target="_blank"><img src="http://www.google.com/images/logos/ps_logo2.png" width="64" height="64" /></a>
</div>

</body>
</html>

回复您的 cmets:Live Demo #2

  • 我将所有“未选择的图像”设置为 50% 的不透明度。
  • 当您将鼠标悬停在图像上时,它会获得 100% 的不透明度。
  • 访问过的图片有紫色边框而不是红色边框。

【讨论】:

  • @thirtydot:您提供的正是我想要的。非常感谢。我刚刚想到的一个小模型,如果我可以问...如果我想将所有未选择的图像变灰怎么办?以及如何将悬停和访问状态应用于这些图像?在此期间,我会尽我最大的努力看看我是否可以自己编写这个模组,即使我没有最强大的信心也无法完成它。再次感谢您的帮助。
  • @WillingLearner:我做了一些改变。
  • @thirtydot:感谢您的编辑。我试图编辑您的代码,以便从名为 thumbs 的文件夹中选择一堆不同的图像,但它似乎由于某种原因而失败,我很清楚为什么。我试图附加 .jpg 扩展名,因为看到您已经将图像命名为 1,2 等的代码。这就是我尝试过的: //fill container with test images for (var i=1; i') } 为什么会起作用?
  • @WillingLearner:该代码仅用于测试,但不管怎样,给你:for (var i=1; i&lt;400; i++) { $('#container').append('&lt;a href="thumbs/'+i+'.jpg" target="_blank"&gt;&lt;img src="thumbs/'+i+'.jpg" width="35" height="35" style="margin-bottom:0px; margin-left: 4px; padding: 0px"/&gt;&lt;/a&gt;') }
  • @thirtydot:我看到语法错误。谢谢你纠正我。我有 1 个最后一个问题,然后我将继续处理我的申请的其余部分,并且将在这个问题上占用您宝贵的时间,因为您已经为我提供了很多帮助:为什么 "target="#mydiv"工作?我现在正试图将我的图像加载到另一个 div 而不是新页面(_blank)。我很困惑为什么当我尝试它时它无法正常工作。
猜你喜欢
  • 2011-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-11
  • 1970-01-01
  • 2016-02-08
  • 1970-01-01
  • 2010-12-21
相关资源
最近更新 更多