我正在使用jQuery标签实现,一切都很好,但我希望能够链接到一个URL,例如http://www.mydomain.com/tabs.html#tab2,并在页面2上自动打开页面,这是我到目前为止的地方http://jsfiddle.net/Jmx7k/
<script>
jQuery(document).ready(function() {
jQuery('#tabs2 li a:not(:first)').addClass('inactive');
jQuery('.container:not(:first)').hide();
jQuery('#tabs2 li a').click(function() {
var t = jQuery(this).attr('href');
if (jQuery(this).hasClass('inactive')) { //added to not animate when active
jQuery('#tabs2 li a').addClass('inactive');
jQuery(this).removeClass('inactive');
jQuery('.container').hide();
jQuery(t).fadeIn('slow');
}
return false;
}) //end click
});
</script>
<div id="tabs2holder">
<ul id="tabs2">
<li><a href="#tab1">Test Tab 1</a></li>
<li><a href="#tab2">Test Tab 2</a></li>
</ul>
</div>
<div class="container" id="tab1">
This is test content for tab1
</div>
<div class="container" id="tab2">
This is test content for tab2
</div>
有人能指出我正确的方向添加此功能,并解释为什么它目前没有这样做?
由于
答案 0 :(得分:4)
好的,如果你想用hash-part创建一个url(例如'#tab2')你可以用
获得这个值var hash = location.hash; // hash = '#tab2'
像这样更改您的代码
jQuery(document).ready(function() {
jQuery('#tabs2 li a:not(:first)').addClass('inactive');
jQuery('.container:not(:first)').hide();
jQuery('#tabs2 li a').click(function() {
var t = jQuery(this).attr('href');
if (jQuery(this).hasClass('inactive')) { //added to not animate when active
jQuery('#tabs2 li a').addClass('inactive');
jQuery(this).removeClass('inactive');
jQuery('.container').hide();
jQuery(t).fadeIn('slow');
}
return false;
}); //end click
if (location.hash == '#tab2') {
// don't forget to put id-attributes to your li-elements
jQuery('#tablink2 a').trigger('click');
}
});
另见:http://jsfiddle.net/Jmx7k/8/ 通过jsfiddle,hash-attribute不会影响javascript-area :-(在正常情况下尝试它。