我有一些缩略图,每次用户点击缩略图我在中间显示大图片,动画/隐藏缩略图,从顶部删除,并将其插入缩略图集的末尾。但经过全面点击 - 再次点击第一张图片 - 脚本不再执行了。脚本:
$(".loadMainPhoto").click(function (event) {
event.preventDefault();
var $this=$(this).children(":first");
var html="<div class='filmStripOuter'id='div_"+$this.attr('id')+"'>"+$("#div_"+$this.attr('id')).html()+"</div>";
var parent=$("#div_"+$this.attr('id')).parent();
$("#div_"+$this.attr('id')).animate({
opacity: 0.25,
height: 'toggle'
}, 500, function() {
$("#div_"+$this.attr('id')).remove();
parent.append(html);
});
我不确定我的解释是否足够,我会根据需要提供其他信息。任何帮助赞赏。
[编辑]
感谢Stefan和Mark现在修复了,问题是我尝试匹配页面加载后添加的元素,然后绑定不起作用。解决方案是使用相同的元素(不是新元素)或使用live()http://api.jquery.com/live/,你可以在我的操场上看到它是如何工作的;)http://papiez.me
答案 0 :(得分:0)
您似乎正在修改DOM,应该查看http://api.jquery.com/live/
答案 1 :(得分:0)
你错过了一个尾随});
是问题的一部分还是这个错误?
为什么要插入新的div?
"<div class='filmStripOuter'id
...
好像你应该捕获原始文件(第一个)然后重新插入它,而不是创建一个带有全新id的新包装器(旧的ID前面加上“div_”。