【发布时间】:2014-06-16 11:43:07
【问题描述】:
我正在使用基于 JQuery 的“响应式图片库”。
链接到实际的画廊代码: http://tympanus.net/Tutorials/ResponsiveImageGallery/ http://tympanus.net/codrops/2011/09/20/responsive-image-gallery/
我正在尝试在单个页面中拥有两个画廊并使用按钮切换这两个画廊。 让我们说gallery1和gallery2,其中gallery1具有活动类,因此gallery2带有display:none;财产。
如何使用这个特定的插件来实现这一点?
gallery.js 文件有这样的代码:
// gallery container
var $rgGallery = $('#rg-gallery')
它在哪里寻址画廊的 ID 块。因此,如果我使用:
<div id="rg-gallery">
//gallery code here
</div>
<div id="rg-gallery">
// gallery code here
<div>
那就不行了。
所以我尝试了课程。但是有了这个:
<div class="rg-gallery">
//gallery code here
</div>
<div class="rg-gallery">
// gallery code here
<div>
只有第二个画廊有效,第一个画廊无效。
因此我认为我需要为不同的画廊块提供不同的ID,如下所示:
<div id="rg-gallery1">
//gallery code here
</div>
<div id="rg-gallery2">
// gallery code here
<div>
但是我该如何调整gallery.js 代码来处理多个画廊块。 目前它只是用这段代码处理一个画廊:
var $rgGallery = $('#rg-gallery')
我是 JQuery 的初学者。任何帮助表示赞赏。
编辑:
我有一个想法来解决这个问题。在 Gallery.js 的末尾有这个函数调用:
Gallery.init();
我认为,解决问题的一种方法是传递参数如下:
Gallery.init("#rg-gallery1");
Gallery.init("#rg-gallery2");
但是如何修改init函数如下:
Gallery = (function() {
// index of the current item
var current = 0,
// mode : carousel || fullview
mode = 'carousel',
// control if one image is being loaded
anim = false,
init = function() {
// init code here
}
我现在想修改 INIT 函数以接受一个文本参数。我该怎么做?
【问题讨论】:
-
您不能对不同的元素使用相同的 ID。整个 html 页面的 ID 应该是唯一的。
-
同意。这就是为什么我要使用两个不同的 ID。但是如何修改 $rgGallery 以解决多个 ID 并识别页面中的多个画廊。
-
试试这个
var $rgGallery = $('#rg-gallery1, #rg-gallery2') -
这只是在页面上显示多个画廊。但是如果我在gallery1中滑动图片,同样的事情会在gallery2中自动发生
-
用更多信息和进度更新了问题。
标签: jquery html css image-gallery