我有以下示例:
http://jsfiddle.net/zidski/Vn9RD/
当链接1打开然后我点击链接2时,如何关闭链接1?
$('a.county').each( function(e){
$(this).bind('click', function(e){
var thisIs = $(this).index();
$('.countystats').eq(thisIs).slideToggle(100); });
});
答案 0 :(得分:0)
首先滑开其他的:
$('.countystats').slideUp();
$('.countystats').eq(thisIs).slideDown(100);
答案 1 :(得分:0)
你可以尝试这种棘手的方式, 你的HTML会喜欢......
<div id="1sub" class="sub">sub1</div>
<div id="2sub" class="sub">sub2</div>
<div id="3sub" class="sub">sub3</div>
<div id="stream-1" class="stream" style="display:none;">Stream 1</div>
<div id="stream-2" class="stream" style="display:none;">Stream 2</div>
<div id="stream-3" class="stream" style="display:none;">Stream 3</div>
现在,在jquery
$(".sub").click(function(){
var subClicked = $(this).attr('id');
$(".stream").hide();
$("#stream-" + subClicked.substring(0,1)).toggle();
});
答案 2 :(得分:0)
您可以捕获您想要操作的当前元素 - 并使用.not()过滤掉
$('a.county').bind('click', function (e) {
var thisIs = $(this).index();
var $el = $('.countystats').eq(thisIs); // element you want to toggle
$el.slideToggle(100);
$('.countystats').not($el).slideUp(100); // slide all the other ones up
});
答案 3 :(得分:0)
$('a.county').on('click',function(){
$('.countystats').slideUp(300);
$('.countystats').eq($(this).index()).slideDown(300);
});
我已经更新了你的小提琴,也检查了一个。 http://jsfiddle.net/Vn9RD/3/
答案 4 :(得分:0)
试试这个:
$("a.county").on("click", function(e) {
var target = $(this).data("div");
$(target).slideToggle("fast");
$(".countystats").not(target).hide();
e.preventDefault();
});
在这里工作小提琴:http://jsfiddle.net/7TdSK/
我希望它有所帮助。