我有一个关于 Ajax 将 html 加载到 DIV 中的问题。理想情况下,我想要的是:
一个带有关闭按钮的切换 div,我在这里有代码:http: //jsfiddle.net/tymeJV/uhEgG/28/
$(document).ready(function () {
$('#country').click(function () {
$("#country_slide").slideToggle(function() {
if ($(this).is(":visible")) {
alert("im visible!");
}
});
});
$('#close').click(function (e) {
e.preventDefault();
$('#country_slide').slideToggle();
});
});
然后我想要一些 AJAX 代码在 div 展开时将 html 文件加载到 div 中。诀窍是,如果 HTML 加载成功,我希望它避免在 div 关闭并重新加载时再次重新加载 HTML 文件,因为我已经加载了它,只需使用按钮切换内容进出。我为此提供的代码(我从这里得到了帮助):
http://jsfiddle.net/spadez/uhEgG/55/
$(function () {
$('#country_link').on('click', function (e) {
// Prevent from following the link, if there is some sort of error in
// the code before 'return false' it would still follow the link.
e.preventDefault();
// Get $link because 'this' is something else in the ajax request.
var $link = $(this);
// Exit if the data is loaded already
if ($link.data('loaded') === true)
return false;
$.ajax({
type: 'GET',
dataType: 'html',
url: '/ajax/test.html',
timeout: 5000,
beforeSend: function () {
},
success: function (data, textStatus) {
$("#country_slide").html(data);
alert('request successful');
// If successful, bind 'loaded' in the data
$link.data('loaded', true)
},
error: function (xhr, textStatus, errorThrown) {
$("#country_slide").html('Error');
},
complete: function () {
},
});
});
});
不过,我还不能让这个工作。所以我的问题是,是否真的可以做到这一点,如果可以,任何有更多 jquery 经验的人都可以帮助我将 div 切换与 ajax 加载脚本集成。
这是我的第一个 jquery 脚本之一,我在使用它时遇到了一些困难,也许它不适合初学者。谢谢你。