阻止Fancybox显示图像
Prevent Fancybox from showing images
如何防止Fancybox显示某些图像?我有一个选择按钮,用户可以在其中选择数据颜色属性,fancybox库中的每个"a"标签都有该属性。
http://jsfiddle.net/brq5b/1/
$('.fancybox').fancybox({
beforeShow: function() {
var selectedColor = $("#colorForm").val();
if(selectedColor != 'all') {
formData = $(this.element).parent().data('color');
formData = formData.split(' ');
for (var i in formData) {
if (formData[i] == selectedColor) {
alert("ok");
}
}
}
},
afterLoad : function() {
this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
}
});
目前,它只是提醒"ok"。
如果您选择"黄色",它会显示数据颜色属性为黄色的缩略图,但随后它会打开图库,显示第3张图片,共3张。我希望它只显示一个。
感谢
好吧,过了很长时间我想出了一个解决方案。每次更改选择按钮时,我都会从每个a标签中删除fancybox类,该类与选择按钮中选择的颜色不对应。
http://jsfiddle.net/brq5b/2/
类似这样的东西:
$(document).ready(function() {
$('#colorForm').on('change', function () {
var selectedColor = this.value;
if(selectedColor != 'all') {
hrefItems = $('#fancybox-thumbs a');
hrefItems.each(function() {
if(!$(this).hasClass('fancybox')) {
$(this).addClass('fancybox');
}
formData = $(this).parent().data('color');
if(formData.indexOf(selectedColor) == -1) {
$(this).removeClass('fancybox');
}
});
}
else {
hrefItems = $('#fancybox-thumbs a');
hrefItems.each(function() {
if(!$(this).hasClass('fancybox')) {
$(this).addClass('fancybox');
}
});
}
}).trigger('change');
});
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- nodejs-expressjs上传图像并显示它们
- 使用JSP从服务器检索和显示图像
- 角度:在ng重复上切换图像
- 画廊图像未显示
- Phonegap-(安卓/iphone)多个图像的图像库出现问题
- Javascript排序的图像弹出窗口..可以't单独弹出
- 画布数据到图像
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 使图像在单击时展开到不大于浏览器
- Html页面上的多个Base64图像和平滑加载
- UIAutomation放大图像
- 使用javascript在Flash中加载外部图像
- 可以在这里为背景图像设置滤镜吗
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 使用 js 将背景图像设置为 HTML
- Javascript将图像src更改为淡入淡出
- 无法在本地计算机中将画布另存为图像
- 压缩phonegap中ios的图像插件
- 如何在鼠标悬停时在另一个图像上滑动图像.