1
我在jQuery上退出了新功能。
從主頁我有4個鏈接到手風琴頁面。
例如:http://pluscoating.falcondesign.nl/poedercoaten/#2
這必須打開ID爲2jQuery Accordion:從其他頁面打開achor的項目
手風琴我想出如何散後添加活動類。現在的問題是,'主動'類被放置在'a'元素之後。但是必須在課程「acc-trigger」之後添加。那我該怎麼做?
我的HTML代碼:
<div>
<span class="acc-trigger">
<a id="1" href="#">Title 1</a>
</span>
<div class="acc-container">
<div class="content">content 1</div>
</div>
<span class="acc-trigger">
<a id="2" href="#">Title 2</a>
</span>
<div class="acc-container">
<div class="content">content 2</div>
</div>
<span class="acc-trigger">
<a id="3" href="#">Title 3</a>
</span>
<div class="acc-container">
<div class="content">content 3</div>
</div>
<span class="acc-trigger">
<a id="4" href="#">Title 4</a>
</span>
<div class="acc-container">
<div class="content">content 4</div>
</div>
</div>
jQuery代碼:
(function() {
var $container = $('.acc-container'),
$trigger = $('.acc-trigger');
var hash = window.location.hash.substring(1);
$container.hide();
$trigger.first().addClass('active').next().show();
if(hash) {
var accordItem = $('.acc-trigger a#' + hash);
$trigger.removeClass('active').next().slideUp(300);
accordItem.addClass('active').next().show();
}
var fullWidth = $container.outerWidth(true);
$trigger.css('width', fullWidth);
$container.css('width', fullWidth);
$trigger.on('click', function(e) {
if($(this).next().is(':hidden')) {
$trigger.removeClass('active').next().slideUp(300);
$(this).toggleClass('active').next().slideDown(300);
}
e.preventDefault();
});
// Resize
$(window).on('resize', function() {
fullWidth = $container.outerWidth(true)
$trigger.css('width', $trigger.parent().width());
$container.css('width', $container.parent().width());
});
})();
作爲一個便箋,你確定該文件只有一個元素與ids 1,2,3,4等?因爲id在pag中應該是唯一的。 – 2013-04-23 10:43:39
如果所有的元素ID都是唯一的,那麼你可以簡化選擇器''.acc-trigger'#'+ hash'只是'''+ hash'這會更有效 – 2013-04-23 10:44:36
在頁面上元素有一個唯一的ID – 2013-04-23 11:24:22