這裏我創建了一個jsfiddle。如何使用jQuery實現此導航切片效果?
當我將鼠標懸停在特定的磁貼上時,它的文本顯示在鼠標上並隱藏。 (這工作正常)。
當我點擊一個特定瓷磚(金色)內的鏈接時,該瓷磚的文字會永久顯示(點擊其他鏈接時應該隱藏)。
現在的問題是,當我點擊另一個瓷磚內的鏈接時,所有其他瓷磚的文字應該隱藏,但這不會發生。 這是我的jQuery代碼。
// -- navigation tile click -- //
$('.nav a').on("click",function(){
$(this).addClass('selected');
});
// -- navigation tiles mouseover -- //
$('.nav > div').on("mouseover",function(){
$(this).find('.abs').show();
}).on("mouseout",function(){
if(!$(this).find('a').hasClass('selected'))
{
$(this).find('.abs').hide();
}
});
有什麼更好的辦法呢?什麼是更好的方式來寫這個jQuery?
我已經對這段代碼做了一些改變。這裏是最新的小提琴。 http://jsfiddle.net/MehSt/10/ – Jaydev
是的,更短,更好 - 甚至var _this = $(this);可以刪除。 :) – sinisake
var _this = $(this);通過這樣做,我減少了重複呼叫$(this)。 – Jaydev