Jquery缩略图库正在更改所有图像
Jquery thumbnail gallery changing all images
我试着用花哨的盒子来创建一个jQuery效果,里面有一个下面有缩略图的大图像。我试图做到的是,当点击缩略图时,大图像就会更新(例如,请参阅RACE Twelve图像)。这很好,但问题是,当我转到我网站上的另一个花哨的框(SEE RACE ONE框)时,该图像已经更新为上次点击的缩略图。
我认为这可能是事件冒泡,但防止默认并没有帮助。
我是jQuery的新手,我知道我正在做的事情很愚蠢。
如果有任何建议,我们将不胜感激?谢谢:)
页面的实时版本:http://www.goodwood.co.uk/members-meeting/the-races.aspx
jQuery的jsfiddle:http://jsfiddle.net/greenhulk01/JXqzL/
(function ($) {
$(document).ready(function () {
$('.races-thumbnail').live("click", function (e) {
$('.races-main-image').hide();
$('.races-image-wrap').css('background-image', "url('http://www.goodwood.co.uk/siteelements/images/structural/loaders/ajax-loader.gif')");
var i = $('<img />').attr('src', this.href).load(function () {
$('.races-main-image').attr('src', i.attr('src'));
$('.races-image-wrap').css('background-image', 'none');
$('.races-main-image').fadeIn();
});
return false;
e.preventDefault();
});
$(".races-image-wrap img").toggle(function () { //fired the first time
$(".races-pop-info").show();
$(this).animate({
width: "259px",
height: "349px"
});
}, function () { // fired the second time
$(".races-pop-info").hide();
$('.races-main-image').animate({
width: "720px",
height: "970px"
});
});
$('#fancybox-overlay, #fancybox-close').live("click", function () {
$(".races-pop-info").show();
$(".races-main-image").animate({
width: "259px",
height: "349px"
});
});
});
})(jQuery);
$('.races main image')将选择该类的所有元素,即使是当前不可见的元素。
您可以根据下面的代码(当放置在点击事件处理程序中时)选择与点击元素最接近的".races主图像"
$('.races-main-image', $(e.target).closest('.races-fancy-box'))
所以你的新代码应该看起来像:
$('.races-thumbnail').live("click", function (e) {
var racesmainimage = $('.races-main-image', $(e.target).closest('.races-fancy-box'));
var racesimagewrap = $('.races-image-wrap', $(e.target).closest('.races-fancy-box'));
racesmainimage.hide();
racesimagewrap.css('background-image', "url('http://www.goodwood.co.uk/siteelements/images/structural/loaders/ajax-loader.gif')");
var i = $('<img />').attr('src', this.href).load(function () {
racesmainimage.attr('src', i.attr('src'));
racesimagewrap.css('background-image', 'none');
racesmainimage.fadeIn();
});
return false;
});
我还删除了你的'e.preventDefault();'return false;包括,并且在任何情况下都阻止执行e.preventDefault()。
相关文章:
- 当页面包含指向一个图像的多个链接时,fancyBox会复制缩略图辅助图像
- 用较大的图像交换缩略图
- 不应选择缩略图优先图像
- 为缩略图库和较大图像库添加下一个和上一个按钮
- 缩略图图像滑块
- 图像缩略图库中的“下一个”和“上一个”按钮中的“问题”
- 图像库缩略图滑块
- 缩略图库的XML数据图像绑定
- 在缩略图库中显示图像
- 缩略图单击时图像未以模式显示
- JS照片库.使大图像显示和缩略图可单击
- 尝试显示使用 php 和数据库检索的缩略图中的全尺寸图像
- 如何使用jQuery单击其缩略图时显示主图像
- JS-点击缩略图将显示正确的图像
- 动态加载的缩略图显示其他缩略图的全尺寸图像,而不是自己的缩略图(使用javascript悬停效果)
- ExtJS FormPanel,文件上传旁边有图像缩略图
- 显示从文件选择器中选择的图像的图像缩略图
- Jquery缩略图库正在更改所有图像
- 基于缩略图在路径中循环浏览图像
- 如何使用javascript在缩略图中移动多个图像(从phpmyadmin检索)