2014-12-02 88 views
-1
多个位置

我目前正在与这段代码工作:锚链接到使用jQuery

小提琴: http://jsfiddle.net/2hmzcgqm/12/

现在,我可以使用#rugby采取一定span内手风琴。

我希望能够扩展到使用#football也。有人可以帮忙吗? :-)

的Javascript:所有的

(function($) { 
    var allPanels = $('.accordion > dd').hide(); 
    var allLinks = $('a.heading'); 
    $('.accordion > dt > a').click(function() { 
     allPanels.slideUp(); 

     //Remove all 
     allLinks.removeClass('active'); 

     if ($(this).parent().next().is(":visible")) return false; 
     $(this).parent().next().slideDown(); 

     //Add active class 
     $(this).addClass('active'); 

     return false; 
    }); 
    //$('.accordion > dt > a').first().trigger('click'); 

    function setAccordion() { 
     // Get id from url 
     // var url = window.location.pathname; 
     // Test url 
     var url = 'localhost:58000/gallery#rugby'; 
     var id = url.substring(url.lastIndexOf('#')); // This will give you #football 
     var spanTag = $('.accordion').find(id); //#football span tag 
     var parentTag = spanTag.closest('dd'); 

     //open the accordion 
     allPanels.slideUp(); 
     parentTag.slideDown(); 
     parentTag.prev('dt').find('a.heading').addClass('active'); 
    } 

    // Call the function 
    setAccordion(); 
})(jQuery); 
+1

你能解释一下你的目标是什么吗?目前没有问题,你的目标不明确。 – 2014-12-02 09:38:07

+1

他使用手风琴并在网址中使用params,以便打开正确的手风琴。它正在为1标签(例如橄榄球或橄榄球)工作,但现在他想要打开橄榄球和足球手风琴的可能性 – Mivaweb 2014-12-02 09:39:50

+0

VDesign是正确的。我想使用多个参数,所以'画廊#篮球'或'画廊#橄榄球'等:) – michaelmcgurk 2014-12-02 09:40:49

回答

0

首先,我们可以不写完整的代码对你来说,这不是#1点。然而,我们可以帮助您找到正确的方向。

如果您希望多个元素在您的网址定义,你可以看到下面的例子Jquery reading several array parameters from url

然后赶上从URL中PARAMS和创建一个数组,你然后遍历打开或设置正确的手风琴项目。

var arrayParams = []; 
$.each(arrayParams, function(key, value) { 

    // Get every item from the url and open the correct accordion item 

});