gpt4 book ai didi

javascript - 创建动态 Javascript AJAX

转载 作者:行者123 更新时间:2023-11-30 13:26:40 25 4
gpt4 key购买 nike

好吧,我目前正在努力在帐户主页上创建一个小程序,以显示用户已注册到该站点的每个“ child ”。我的想法很简单:

child 1/ child 2/ child 3

当他进入此页面时作为按钮(带有样式等)。当他点击其中一个按钮/名字时,我使用 javascript 显示 child 信息的描述等。当我点击另一个名字时,当前内容关闭并显示新的适当内容。

内容是动态创建的,因此包含信息的 div 的 ID 以 child 的数量命名。示例:content_Info_Kid1、content_Info_Kid2、...无论有多少 child ,如果需要,他们将被命名为 content_Info_Kid32。

现在,我不太熟悉 AJAX 和 javascript。事实上,我根本不是。

我的第一个想法是在一个单独的 javascript 文件中执行此操作。

$(document).ready(function() {
$("#content_info_kid1").hide();
$("#content_info_kid2").hide();
$("#content_info_kid3").hide();

$("#KID_1").click(function () {
if ($("#content_info_kid1").is(":hidden")){
$("#content_info_kid2").hide();
$("#content_info_kid3").hide();
$("#content_info_kid1").show("slow");
$(this).css("font-weight","bold");
$("#KID_2").css("font-weight","normal");
$("#KID_3").css("font-weight","normal");
}
});
$("#KID_2").click(function () {
if ($("#content_info_kid2").is(":hidden")){
$("#content_info_kid1").hide();
$("#content_info_kid3").hide();
$("#content_info_kid2").show("slow");
$(this).css("font-weight","bold");
$("#KID_1").css("font-weight","normal");
$("#KID_3").css("font-weight","normal");
}
});
$("#KID_3").click(function () {
if ($("#content_info_kid3").is(":hidden")){
$("#content_info_kid2").hide();
$("#content_info_kid1").hide();
$("#content_info_kid3").show("slow");
$(this).css("font-weight","bold");
$("#KID_1").css("font-weight","normal");
$("#KID_2").css("font-weight","normal");
}
});
});

显然,这不是动态的。当然,我不想创建 32 个备选方案。有人可以为我指明正确的方向,以创建一种动态方式来根据 child 的数量显示我的内容吗?

最佳答案

编辑(一次只加载一个 child 数据的更新见底部)

有关如何实现该目标的示例:

<style type='text/css' media='screen'>
button { margin-left:20px; display:inline; }
</style>

<script type='text/javascript' src='jquery-1.7.1.min.js'></script>
<script type='text/javascript'>

function loadKidData(kidID) {

switch (kidID) {
case 1 : $('#kName').text(' John Doe');
$('#kNickname').text(' Speedy');
$('#kHobbies').text(' Booling');
break;
case 2 : $('#kName').text(' Mathews Doe');
$('#kNickname').text(' Slowy');
$('#kHobbies').text(' Basketball, baseball');
break;
case 3 : $('#kName').text(' Jackson Doe');
$('#kNickname').text(' J-DOE');
$('#kHobbies').text(' Archery');
break;
case n : $('#kName').text(' Enne Doe');
$('#kNickname').text(' The-Nanny');
$('#kHobbies').text(' Anything goes');
break;
default : $('#kName').text('');
$('#kNickname').text('');
$('#kHobbies').text('');
}

}

jQuery( function () {
$('.nav').click( function () {
loadKidData($(this).html().replace('KID ','')*1.0); // *1.0 same as parseInt(...,10).
})
});

</script>

</head>

<body>
<button class='nav' >KID 1</button><button class='nav' >KID 2</button><button class='nav' >KID 3</button>
<div id='KID_INFO' style='margin:20px auto; overflow:auto; ' >
<p>Name:<span id='kName'></span></p>
<p>Nickname:<span id='kNickname'></span> </p>
<p>Hobbies:<span id='kHobbies'></span> </p>
</div>
</body>

样本位于:http://zequinha-bsb.int-domains.com/kidsinfo.html

现在,就动态显示数据而言,它与您的资源有关:数据库?如果是这样,您可以读取数据并将其传递过来:

$.get('url-of-the-database-reading-script',function (data) {
// assumed all data comes back formatted:
$('#KIDS_INFO').html(data);
});

我可以/可以进一步帮助您,更多详细信息会有所帮助。您使用的是经典的 asp (.asp) 吗? PHP;等等?

编辑:

取而代之的是:

jQuery( function () {
$('.nav').click( function () {
loadKidData($(this).html().replace('KID ','')*1.0); // *1.0 same as parseInt(...,10)
})
});

这样做:

jQuery( function () {
$('.nav').click( function () {
$.get('your-data-fetching-url?kidID='+$(this).html().replace('KID ','')*1.0, function (data) {
//assumed the data comes back formatted:
$('#KIDS_DATA').html(data);
})
})
});

请注意,我在网址末尾打了一个问号;后跟查询字符串 kidID=

关于javascript - 创建动态 Javascript AJAX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8236457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com