JQuery、AJAX、PHP、XML;图像覆盖脚本停止处理回调内容
单击按钮将启动my函数,该函数通过AJAX调用获取图像数据:JQuery、AJAX、PHP、XML;图像覆盖脚本停止处理回调内容,php,jquery,ajax,callback,overlay,Php,Jquery,Ajax,Callback,Overlay,单击按钮将启动my函数,该函数通过AJAX调用获取图像数据: $("#toggle_album").click(function () { album_id = $("#album_id").val(); $.post('backend/load_album_thumbnails.php', { id: album_id }, function(xml) { var status = $(xml).find("
$("#toggle_album").click(function () {
album_id = $("#album_id").val();
$.post('backend/load_album_thumbnails.php', {
id: album_id
}, function(xml) {
var status = $(xml).find("status").text();
var timestamp = $(xml).find("time").text();
$("#album_thumbs_data_"+album_id+"").empty();
if (status == 1) {
var temp = '';
var output = '';
$(xml).find("image").each(function(){
var url = $(this).find("url").text();
temp = "<DIV ID=\"thumbnail_image\"><A HREF=\"javascript:void(null);\" CLASS=\"overlay\">[img-tag with class="faded" goes here]</A></DIV>";
output += temp;
});
$("#album_thumbs_data_"+album_id+"").append(output);
} else {
var reason = $(xml).find("reason").text();
var output = "<DIV CLASS=\"bread\">"+reason+"</DIV>";
$("#album_thumbs_data_"+album_id+"").append(output);
}
$("#album_thumbs_"+album_id+"").toggle();
});
});
。。。停止处理通过AJAX调用获取的图像数据。它适用于所有其他已通过“正常”方式加载的图像。脚本是否需要以某种方式进行调整才能处理以后添加的数据
我希望我的问题足够清楚。每次向页面添加DOM元素时,都必须绑定新事件 jquery中有一个名为的内置函数,可以为您实现这一点 我注意到您添加了xml中的图像;你也可以在那里添加新的绑定
$(xml).find("image").each(function(){
//this actually creates a jquery element that you can work with
$('my-img-code-from-xml-goes-here').hover(
function() {
$(this).animate({"opacity": "1"}, "fast");
},
function() {
$(this).animate({"opacity": ".5"}, "fast");
}
//i did all my dirty stuff with it, let's add it where it belongs!
).appendTo($('some-already-created-element'));
});
编辑:更正了错误的句子。每次向页面添加DOM元素时,都必须绑定新事件 jquery中有一个名为的内置函数,可以为您实现这一点 我注意到您添加了xml中的图像;你也可以在那里添加新的绑定
$(xml).find("image").each(function(){
//this actually creates a jquery element that you can work with
$('my-img-code-from-xml-goes-here').hover(
function() {
$(this).animate({"opacity": "1"}, "fast");
},
function() {
$(this).animate({"opacity": ".5"}, "fast");
}
//i did all my dirty stuff with it, let's add it where it belongs!
).appendTo($('some-already-created-element'));
});
编辑:更正了一个错误的句子。好吧,显然我在谷歌上搜索得不够。在stackoverflow上浏览我自己的问题时,我想到了其他问题,这让我想到了JQuery live()函数: 但是,它在hover()上不起作用,因此我重写了脚本,改为使用mouseover()和mouseout() 。。。现在,即使在我从AJAX调用中获取的内容上,它也能完美地工作
对不起,如果有人已经开始写答案了。好的,很明显我在谷歌上搜索得不够。在stackoverflow上浏览我自己的问题时,我想到了其他问题,这让我想到了JQuery live()函数: 但是,它在hover()上不起作用,因此我重写了脚本,改为使用mouseover()和mouseout() 。。。现在,即使在我从AJAX调用中获取的内容上,它也能完美地工作
如果有人已经开始写答案,很抱歉。谢谢您的回复。我找到了答案,很明显,它确实适用于mouseover()和mouseout()。不过,你的回复给了我另一种解决方法,谢谢!谢谢你的回复。我找到了答案,很明显,它确实适用于mouseover()和mouseout()。不过,你的回复给了我另一种解决方法,谢谢!
$("img.faded").live("mouseover",function() {
$(this).animate({"opacity": "1"}, "fast");
});
$("img.faded").live("mouseout", function() {
$(this).animate({"opacity": "0.5"}, "fast");
});