問題簡述:
今天幫一個師姐做網頁遇到一個這樣的要求:
鼠標不移動進表格,表格透明度不變。
鼠標移動進表格,hover到的單元格透明度不變,沒hover到的單元格透明度改變。
先貼我已經實現好的效果,一開始,表格透明度不變。
當我鼠標移動到第二排第三個單元格,其他單元格降低透明度。
解決辦法
一開始,我用的是CSS實現方法,是下面這樣
#table td{
opacity:0.5;
}
#table td:hover{
opacity:1;
}
不過這樣一開始進去的時候表格透明度就是0.5,看起來很不好。
后來我就用jQuery的hover方法,不過它總是選中了里面的所有單元格,這其中過程很曲折,我就不一一介紹了,我就講講我怎么實現的。
$('#content td').hover(
function(){
$('#content td').css('opacity','0.5');
$('#content td:hover').css('opacity','1');
},
function(){
$('#content td').css('opacity','1');
});
content是我table的id名,可以看到我們對單元格hover方法里面加了兩個function
第一個funtion移動到表格時,首先
$('#content td').css('opacity','0.5');
表示鼠標移動進去的時候,所有單元格透明度為0.5,然后
$('#content td:hover').css('opacity','1');
這里的css的hover選擇器表示選中單個單元格。
第二個funtion表示鼠標離開表格時
$('#content td').css('opacity','1');
所有單元格透明度為1。
新發現
我發現我之前做的多余了,其實沒有必要那么麻煩,直接可以用css來做,只是多個選擇器寫在一起而已。
后面再更新。待續。。。。