我正在制作一个用PHP和mysql加载图像的画廊 . 现在我正在尝试合并类似灯箱的叠加层,但具有特定的,可编辑的html . 所以,我可以添加我想要显示的元素(图像, Headers ,描述,扩展描述),这些元素通过php和mysql加载 .
我用谷歌搜索了一堆灯箱,但它们并不是我想要的,除此之外它必须获得许可才能在商业上使用它 . (所以如果可能的话,我想自己做)
我目前的html代码,由php和mysql加载:
<div class='view view-tenth'>
<img src='".$images['orig']."' alt='".$images['name']."' />
<div class='mask'>
<h2>".$images['model']."</h2>
<p>A wonderful serenity has taken possession of my entire soul, like these sweet mornings of spring which I enjoy with my whole heart.</p>
<a href='#' class='info'>Read More</a>
</div>
</div>
基本上,我希望在点击“阅读更多”时加载叠加层,但是具有该特定图像的特定 Headers ,描述等 .
但问题是,我不确定如何编码 . 有人有关于如何处理这个问题的建议吗?
-edit-
所以基本上我正在寻找的是一种方法来传输从我的数据库中检索的php数据,例如通过HREF链接到覆盖,这样当点击图像时,正确的信息( Headers ,显示描述等) .
我正在努力转移数据,而不是制作实际的HTML叠加层 . 希望清除一切 .
-edit 2-
得到了colorbox jquery ... http://imandragrafie.nl/demo/ontwerp_test.php但现在我需要将信息加载到框中:)
No fancybox 拜托,我不能用商业网站的花式盒子 .
6 回答
您可以在json中保存各自的数据,并在点击
read more
时显示,如下所示:下面是一个小示例代码,其中我在
jsonObj
var中有数据并在var html
元素中存储相应的数据,然后我有console.log(html)
来显示该数据 . 您可以根据需要修改代码以从数据库中获取数据 .HTML Code:
jQuery Code:
您可以将此
html
变量作为数据传递到灯箱窗口中 .希望这可以帮助!
如果您愿意,可以使用纯CSS执行此操作 . 以下是一个示例 .
http://codepen.io/fauverism/pen/pvvKKL
CSS
HTML
这是我的建议 .
总结一下......你有一个画廊页面上有图片 . 它们链接到覆盖图,其中包含有关图片的更多信息 .
我用过类似的东西:http://fancybox.net/尝试页面上的谷歌 Map 链接..看起来像这样:
但是你的叠加链接转到另一个页面,它只显示图片的信息,如下所示:
因此,在我的解决方案中,您有一个PHP页面列出图片并将其链接到带有ID的叠加层 .
然后在Overlay中显示第二个PHP页面 .
在您编辑之后,我认为您需要某种ajax来获取数据并将其放入叠加层 .
你可以在jquery中使用ajax来做到这一点 . 这样的事情应该有效:
在jquery中了解更多关于ajax的信息here
Update 评论后 .
您的
可以返回一个json对象或(准备显示)html .
在第一种情况下,您必须使用javascript将数据结构转换为html .
在第二种情况下,您可以在php(服务器)端执行此操作 .
我会首先使用php将您想要在灯箱中分离的所有内容加载到不同的div中 . 然后我会将灯箱部分的所有html css默认为“display:none;” . 然后你可以使用jquery来制作它,这样你当前悬停的任何东西(或点击..etc)都会从“display:none”切换到“display:block” .
总结一下 . 我会首先使用php编写所有内容/ html以及所有可能的视图 . 然后我会使用jQuery来控制视图,所以你只能根据点击/悬停的内容看到你想要的视图 . 我经常使用这种方法,它对小型项目表现很好 .
您可以做的是: - 添加背景(灰色透明背景) - 在屏幕中间添加一个框 - 在框内放置图像, Headers 和描述
这是一个关于JSFiddle的例子:http://jsfiddle.net/4tu9Lotg/
和