我有这个jquery代码:
$(document).ready(function() {
$('div.badge_button > .more').click(function() {
var id = $(this).attr('id');
$('#window').fadeIn();
$("#window").empty().html('<img src="images/loading.gif" />');
$('#window').load('badge.php', {id:id});
$.scrollTo( '#window', 200 );
});
});
和这个html:
<div class = 'badge_button'><a href='#' id = '1' class='more'>More</a></div>
我的问题是我必须在实际触发之前多次点击“更多”按钮。这种情况发生和开启。是因为默认行为还是与href='#'
有关?
答案 0 :(得分:0)
我认为不添加return false;
就是问题所在。您需要它,因为href=#
重新加载页面。
$(document).ready(function() {
$('div.badge_button > .more').click(function() {
var id = $(this).attr('id');
$('#window').fadeIn();
$("#window").empty().html('<img src="images/loading.gif" />');
$('#window').load('badge.php', {id:id});
$.scrollTo( '#window', 200 );
return false;
});
});
希望它有所帮助...
答案 1 :(得分:0)
是的,你的Jquery逻辑很好,但href=#
正在重新加载页面。
只需在Jquery逻辑中添加return false;
。
$(document).ready(function() {
$('div.badge_button > .more').click(function() {
var id = $(this).attr('id');
$('#window').fadeIn();
$("#window").empty().html('<img src="images/loading.gif" />');
$('#window').load('badge.php', {id:id});
$.scrollTo( '#window', 200 );
return false;
});
});
答案 2 :(得分:0)
我猜这个问题是对窗口对象的引用(希望你试图引用它)。
在这种情况下,您的代码应如下所示:
$(document).ready(function() {
$('div.badge_button > .more').click(function() {
var id = $(this).attr('id');
$(window).fadeIn();
$(window).empty().html('<img src="images/loading.gif" />');
$(window).load('badge.php', {id:id});
$.scrollTo( window, 200 );
});
});
查看绑定事件时引用文档的方式。
Demo:查看错误控制台,您现在将发现错误,指出找不到该页面,因为该页面在服务器上不存在。希望它应该适用于您的网站。
另外快速建议你可以摆脱document.ready而不是使用实时处理程序。类似的东西:
$('div.badge_button > .more').live("click",function() {
var id = $(this).attr('id');
$(window).fadeIn();
$(window).empty().html('<img src="images/loading.gif" />');
$(window).load('badge.php', {id:id});
$.scrollTo( window, 200 );
});
希望这有帮助。