Here就是一個例子。我正在尋找光標所在的行和列,以顯示:hover屬性。有沒有辦法做到這一點,而不需要JavaScript?如果沒有,jQuery中有一個簡單的方法可以爲任何數量的行/列進行此操作嗎?CSS:懸停 - 如何讓較低的DIVs:懸停以及?
回答
不與css一樣,只有一個元素被懸停(來自重疊的非嵌套元素)。
jQuery的可以幫助,但它不是小事..
粗的實現是
- 添加
.row
和.col
類的元素(適當) - 綁定一個自定義事件處理程序檢查鼠標座標是否在他們的框內,並設置/取消懸停狀態
- 當鼠標移動到內部時t他的行和cols的容器(你應該將它們包裝在一個),創建事件(我們綁定到行列數自定義類型的),並啓動它在全球
HTML
<div id="container">
<div id="row1" class="row"></div>
<div id="row2" class="row"></div>
<div id="col1" class="col"></div>
<div id="col2" class="col"></div>
</div>
的JavaScript
$('.col, .row').bind('intersect',function(e){
var $me = $(this);
var pos = $me.offset();
var size = {w:$me.width(), h:$me.height()};
if (e.pageX > pos.left && e.pageY > pos.top && e.pageX < pos.left + size.w && e.pageY < pos.top + size.h)
{
$me.addClass('hover');
}
else if ($me.is('.hover'))
{
$me.removeClass('hover');
}
});
$('#container').mousemove(function(e){
var evt = jQuery.Event('intersect');
evt.pageX = e.pageX;
evt.pageY = e.pageY;
$.event.trigger(evt);
});
如果你使用一個表,你可以通常只是做這樣的事情:
tr:hover > td {
background-color: yellow;
}
...但如果你有不嵌套元素,只有其中一人將被視爲:hover
版。您必須使用JavaScript將懸停狀態傳播到位於其下的其他元素。
?? ??他的例子中沒有表.. – 2011-04-07 21:16:21
謝謝加比,很好的地方。 – 2011-04-07 21:21:00
可以是任何東西,不只是一張桌子。 – trgraglia 2011-04-07 21:22:33
我會使用jQuery的兄弟姐妹:
$("#row1").siblings("#row2").css(attr, value);
或者你可以使用.class或類似的東西。
- 1. 如何讓我的CSS:懸停工作?
- 2. CSS懸停菜單:讓懸停的菜單項,以保持懸停狀態的css
- 3. 如何讓圖像懸停在CSS?
- 4. 懸停在懸停的CSS菜單
- 5. 想讓懸停
- 6. 讓動畫懸停像過渡懸停
- 7. 懸停在slideToggle(2 divs)
- 8. CSS3懸停在嵌套divs
- 9. 如何讓文字懸停?
- 10. CSS-懸停
- 11. CSS懸停
- 12. CSS懸停
- 13. CSS - 懸停
- 14. 懸停與CSS
- 15. CSS:懸停
- 16. Impliment父類的懸停CSS懸停到其子標籤懸停css
- 17. 如何更改css:懸停?
- 18. 如何懸停使用CSS?
- 19. 如何懸停在CSS
- 20. CSS - 如何解決懸停?
- 21. 如何使用懸停CSS
- 22. CSS懸停效果如何?
- 23. 如何使jQuery的懸停像CSS懸停?
- 24. 如何添加不同的CSS3懸停轉場懸停與CSS
- 25. iPhone的CSS懸停
- 26. 如何停止CSS懸停與條件
- 27. CSS懸停停止動畫
- 28. CSS文字懸停及過渡效果
- 29. CSS:懸停 - 如何使:懸停在文字上影響圖像?
- 30. 如何使用:鼠標懸停時懸停css
這太棒了,謝謝! – Justin808 2011-04-07 22:53:46