幾乎每個人在這裏都很適合。 jQuery必須先加載任何其他花哨的東西才能完成。通常情況下,縮小的jQuery加載時間是相當不重要的。我不一定會擔心這一點。
但是,我發現像徘徊這樣簡單的事情絕對沒有理由使用jQuery。在懸停函數中,首先想到使用jQuery似乎毫無用處,但優點是基本上可以使用一些簡單的代碼來完成許多事情,而這些代碼是您無法用CSS完成的 - 特別是在大多數瀏覽器中。
例如:
$("span").hover(function() {
$(this).addClass("highlight");
}, function() {
$(this).removeClass("highlight");
});
實在沒有理由使用jQuery,如果你想一切都懸停。在CSS中,你可以指定任何數量的東西在你的懸停......但你不能做一些真正的光滑的動畫。因此,讓我們拿走您的代碼,並讓代碼量基本相同,但請考慮jQuery提供的可能性。
$("span").hover(function() {
$(this).animate({width:'100px'}, 500);
$(".other-div").fadeIn(200);
}, function() {
$(this).animate({width:'50px'}, 500);
$(".other-div").fadeOut(200);
});
所以在這個例子中,我們不僅改變了寬度(你可以用純CSS做),但現在我們的動畫我們徘徊。另外,我們同時在「other-div」中褪色!所以我們可以針對其他元素輕鬆移動。
您可能想要在初始實例中使用jQuery的另一個原因是更改元素,並在用戶與它進行交互後將其更改。所以它不再只是一個懸停,而是一個觸發某些動作的鼠標懸停事件,但直到用戶做了其他事情之前,它一直保持這種狀態。
我認爲主要的東西是jQuery不是CSS的替代品,反之亦然。但他們確實應該一起使用。只要你可以做一些簡單的事情就可以使用CSS(如懸停等)。但是當你想添加「oomph」時使用jQuery來踢一個檔次。
同意Christian。一個具體的例子:CSS可以在不支持javascript的瀏覽器上以及關閉javascript的用戶(如公司和高安全性用戶)上運行。 – sscirrus 2012-01-27 04:12:41