2014-10-01 47 views
1

這裏是我的fiddlediv崩潰時爲什麼removeclass不工作?

爲什麼當一個div被另一個div點擊時,當另一個div崩潰時箭頭不會出現回來?我已經設置,所以當div沒有「點擊」類時,它會刪除類'arrowhide',但是當你這樣做時,它似乎並沒有刪除'arrowhide',即使div不再有類 '點擊' 這裏是我的代碼...

$(function timelinetiles() { 
    $('.timelineTile').click(function (evt) { 
    evt.stopPropagation(); 
    $('.selected').children().not(this).removeClass('clicked'); 
    $(this).toggleClass('clicked'); 

    if ($('.selected').children().hasClass("clicked")) { 
     $('.details').addClass('show'); 
    } 

    if ($('.timelineTile').hasClass("clicked")) { 
     $(this).children('.arrow').addClass('arrowhide'); 
    } else { 
     $('.arrow').removeClass('arrowhide'); 
    } 


    if ($('.selected').children().hasClass("clicked")) { 
     $(this).children('.header').height(430); 
    } else { 
     $('.header').height(80); 
    } 


}); 
}); 

$(document).click(function() { 
$('.timelineTile').removeClass('clicked'); 
$('.details').removeClass('show'); 
$('.arrow').removeClass('arrowhide'); 
}); 
+0

嘗試包裹裏面的document.ready – Vivekh 2014-10-01 10:36:20

回答

2

你4號線還需要去除arrowhide類,像這樣:

$('.selected').children().not(this).removeClass('clicked') 
.children('.arrow').removeClass('arrowhide'); 

更新小提琴:http://jsfiddle.net/mcx0t0fh/2/

另外,你可以放棄arrowhide業務,並改變你的.arrow.arrow隱藏CSS規則.clicked .arrow

另類小提琴:http://jsfiddle.net/mcx0t0fh/4/