几乎每个人在这里都很适合。 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