我正在使用AJAX显示文章的wordpress网站上工作。我在成功回调中添加了一些jquery代码。我的一个需求是在鼠标上显示图像。我的所有代码都可以工作,除了鼠标悬停效果如何在ajax成功回调中使用live()
所以这是我的ajax功能:
function loadArticle(pageNumber, loop, term){
$.ajax({
url: ajax_var.url,
type:'POST',
data: someData,
success: function(html){
// This will be the div where our content will be loaded
$("#content").append(html);
// Zoom box
$('img.static').hide();
$(".ad-preview").live({
mouseover: function() {
$(this).find('img.static').stop().fadeIn();
},
mouseout: function() {
$(this).find('img.static').stop().fadeOut();
}
});
// Other stuff...
});
return false;
}
});
和HTML:
<div class="ad-preview">
<a target="_blank" href="">
<img src="img/zoom.png" /></a>
</a>
</div>
什么是实现这种效果的好方法吗?
谢谢你的解释。我还有一个问题,就是关于代码优化。成功回调中有很多代码。我在一个特定的元素上使用jquery-ui滑块,我有一个投票过程(也使用AJAX),它在提交表单等后执行... 我应该创建另一个js文件并将所有与HTML有关元素通过AJAX加载(而不是在document.ready调用中)? –
这取决于你的网站的大小。除非您运行的是大型网站,否则没有任何真正的理由需要优化到该级别。但是,每天大约20万用户不会因将几行js移动到另一个文件而受益,这些文件只能根据请求加载。这也取决于你的网站依赖于ajax的程度。最后你可能会做更多的工作,而不是节省几K。我想说的是,一个小型站点需要的唯一正常优化就是在修订之间进行缩减。 –
我明白你的意思了。再次感谢您:) –