後您修改元素的樣式,風格left: 0px;
留在DIV,這就抵消了懸停的影響。
這是相關代碼:
$('.leftMenuTab').click(function(e) {
temp = $(this);
if ($('.leftMenuTab').attr('data-state') == "collapsed") {
$(".charIcon", this).html("«");
$('.leftMenuTab').attr('data-state', 'expanded');
$(".leftMenu").css("left", "+=110px");
$(".leftMenuTab").css("left", "+=100px");
} else {
$(".charIcon", this).html("»");
$('.leftMenuTab').attr('data-state', 'collapsed');
$(".leftMenu").css("left", "-=110px");
$(".leftMenuTab").css("left", "-=100px");
$(this).addClass("rShift");
}
});
最快的解決方法是刪除,而不是modyfing它left
的風格(你不需要重新添加類):
$('.leftMenuTab').click(function(e) {
temp = $(this);
if ($('.leftMenuTab').attr('data-state') == "collapsed") {
$(".charIcon", this).html("«");
$('.leftMenuTab').attr('data-state', 'expanded');
$(".leftMenu").css("left", "+=110px");
$(".leftMenuTab").css("left", "+=100px");
} else {
$(".charIcon", this).html("»");
$('.leftMenuTab').attr('data-state', 'collapsed');
$(".leftMenu").css("left", ""); //set to empty string
$(".leftMenuTab").css("left", ""); //set to empty string
//$(this).addClass("rShift"); //Not needed
}
});
注意:這是從您的網絡本地副本進行測試。
謝謝你的解決方案:-)我希望我可以選擇多個正確的答案。我剛開始懷疑內聯樣式與它有關。 :-) –
我認爲你會發現這個解決方案有點乾淨,並遵循將代碼,標記和樣式分離到適當位置的最佳實踐。 –
+1我看到你很多改進了你的答案。我剛剛去尋求快速解決方案。 – Theraot