2016-09-30 101 views
0

我有一个页面列出了一大堆类别及其关联的项目。我想要做的是让这个页面列出类别,如果你点击一个类别,它会展开以显示该类别中的项目。我使用内置的展开/折叠功能引导程序来实现此目的。Bootsrap在一个链接上展开,并加上另一个页面的链接

这很好,除非js不加载(如果存在js错误,您的移动连接速度较慢,js尚未下载,则可能是这种情况)。为了解决这些情况,我希望我的类别链接到独立类别页面。

问题是,当您点击该类别时,它会展开项目列表,但会将您带到类别页面,而不是让您保持在您所在的位置。

任何想法如何解决这个问题?我知道我可以使用return false,但我真的不想开始修改bootstrap.js文件。

谢谢!

<a class="toggle_div" data-toggle="collapse" data-target=".category_56" href="link.html"> 
    Category 56 
</a> 
<div class=" category_56 in"> 
    Here is the info to expand and collapse 
</div> 

回答

0

这个属性:

href="link.html" 

是你的问题。

如果你需要测试,如果相关的股利满载你可以这样做:

$($(this).data('target')).length == 1 

哪里这是你的toggle_div锚。

因此,一个可能的解决方案可能是:

$('.toggle_div').on('click', function(e) { 
 
    
 
    if ($($(this).data('target')).length == 1) { 
 
    // 
 
    // if the related div is loaded you can prevent default action 
 
    // 
 
    e.preventDefault(); 
 
    } else { 
 
    // goto next page 
 
    } 
 

 
});
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
 
<script src="https://code.jquery.com/jquery-2.1.1.min.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 

 
<a class="toggle_div" data-toggle="collapse" data-target=".category_56" href="link.html"> 
 
    Category 56 
 
</a> 
 
<div class=" category_56 in"> 
 
    Here is the info to expand and collapse 
 
</div>

相关问题