【发布时间】:2023-03-24 11:37:01
【问题描述】:
以下是我正在处理的 jquery AJAX 选项卡脚本的完整代码。
我需要一些帮助。该脚本有 3 个选项卡,每个选项卡都使用 AJAX 将页面加载到 DIV 中。
我需要能够在页面加载时“选择”并加载 3 个页面中的 1 个。
如果 url 是 www.site.com/page.php 它应该加载第一个选项卡的内容并选择该选项卡。
然后,如果我访问类似 www.site.com/page.php?t=bulletins 或任何方法,但不知何故在 URL 中,我可以指定要在页面加载时加载和选择的不同选项卡。
在同一页面上的示例我可以在 URL 中添加一些内容,当从另一个页面上的链接调用该页面时转到该页面,它将加载选项卡 2 而不是选项卡 1。
谁能帮我把这个添加到这个脚本中?如果可能,我不想使用 jqueryUI。
那么,如果没有 jquery UI,这可能吗?
也希望对我当前的代码进行任何改进,我是 javascript 和 jquery 的新手
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" ></script>
<script type="text/javascript">
// array of pages to load
var pageUrl = new Array();
pageUrl[1] = "page1.php";
pageUrl[2] = "somepage2.php";
pageUrl[3] = "lastpage3.php";
// function to load page into DIV
function loadTab(id) {
if (pageUrl[id].length > 0) {
$("#loading").show();
$.ajax({
url: pageUrl[id],
cache: false,
success: function (message) {
$("#tabcontent").empty().append(message);
$("#loading").hide();
}
});
}
}
$(document).ready(function(){
$("#loading").hide();
$("#tab1").click(function(){
loadTab(1);
$('div.HOMEtabdiv ul.HOMEtabs a').removeClass('selected');
$(this).addClass('selected');
});
$("#tab2").click(function(){
loadTab(2);
$('div.HOMEtabdiv ul.HOMEtabs a').removeClass('selected');
$(this).addClass('selected');
});
$("#tab3").click(function(){
loadTab(3);
$('div.HOMEtabdiv ul.HOMEtabs a').removeClass('selected');
$(this).addClass('selected');
});
});
</script>
<div class="HOMEtabdiv">
<ul class="HOMEtabs">
<li><a id="tab1" href="#" onClick="return false;" class="selected">All</a></li>
<li><a id="tab2" href="#" onClick="return false;">Status</a></li>
<li><a id="tab3" href="#" onClick="return false;">Bulletins</a></li>
</ul>
</div>
<div id="loading">
<img src="images/loading.gif">
</div>
<div id="tabcontent">
Tab Content loads pages into here
</div>
<style type="text/css">
a:active { outline:none;}
:focus { -moz-outline-style:none;}
/* root element for tabs */
ul.HOMEtabs {
margin:0 !important;
padding:0;
height:30px;
border-bottom:1px solid #666;
}
/* single tab */
ul.HOMEtabs li {
float:left;
padding:0;
margin:0;
list-style-type:none;
}
ul.HOMEtabs a {
float:left;
font-size:13px;
display:block;
padding:5px 30px;
text-decoration:none;
border:1px solid #666;
border-bottom:0px;
height:18px;
background-color:#efefef;
color:#777;
margin-right:2px;
-moz-border-radius-topleft: 4px;
-moz-border-radius-topright:4px;
position:relative;
top:1px;
}
ul.HOMEtabs a:hover {
background-color:#FFFFFF;
color:#333;
}
/* selected tab */
ul.HOMEtabs a.selected {
background-color:#FFFFFF;
border-bottom:2px solid #FFFFFF;
color:#000;
cursor:default;
}
</style>
【问题讨论】:
-
你不确定到底是哪一部分?