作者toshii (芬達)
看板Web_Design
標題Re: [問題] 有辦法讓A:hover後效果不消失嗎
時間Tue Jul 3 15:55:36 2012
※ 引述《toshii (芬達)》之銘言:
: CSS的A:hover效果是預設mouseover會有動作
: mouseout就恢復原狀
: 有沒有辦法去改變CSS的mouse離開的行為
: 我希望mouse從A選單移到B選單時照舊
: 就是A選單效果消失而B選單效果出現
: 但若從A移到移到頁面其他地方,能不要讓選單效果消失
: 這個我就做不出來
: 想想好像不用CSS,改寫成javascript用mouse event應該可達成
: 但是就要捨棄原本的CSS那一套了
: 對了我會想這樣做是因為原網頁在觸控制式銀幕上
: 手指點下去選單出來, 手指一離開就不見了
: 最後只好使用2指神功,一指點主選單,一指點子選單即可
: 這樣有點遜
: 現在撰寫網頁如果事先為了智慧型手機上著想
: 是不是不建議用CSS的hover語法了
: 要改成用JS的onclick才比較好
: (甚至JS的mouse event也都要捨棄)
不好意思我自問自答,
因為我終於在網路上找到解決方法了
只要在頁面尾端加上
var myLinks = document.getElementsByTagName('a');
for(var i = 0; i < myLinks.length; i++){
if(typeof(myLinks[i].addEventListener)=="undefined")
continue;
myLinks[i].addEventListener('click', function() {
if( this.className.search(/.* iehover$/) >=0 )
this.className=this.className.replace(new RegExp(" iehover\\b"), "");
else
this.className+=" iehover";
}, false);
}
但是我看不懂iehover是幹嘛的
$是jQuery的語法嗎
所以有應用到jQuery吧
--
看不見太陽那就賞月吧
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.39.163.40
→ kerash:如果找到方法卻不知道原因的話,建議先不要用,否則以後要 07/03 16:19
→ kerash:改反而你會不知道該怎麼改.. 07/03 16:19
→ kerash:$ 是寫在 regexp裡面,跟jquery無關,iehover是classname 07/03 16:20
→ kerash:你應該還有用到css在裡面 07/03 16:20
→ ssccg:我覺得這看起來跟你要的東西沒關係 07/03 16:20
→ kerash:說錯,不是css,是你的js有抓iehover的class處理事件 07/03 16:20
→ toshii:沒關係嗎?但是效果有出來耶,我手指離開銀幕後選單不會消失 07/03 17:53
→ toshii:但是在pc上依然可以mouseout時選單消失 07/03 17:53
→ toshii:呀,樓上說的對,有個.js裡有function寫到iehover 07/03 17:57
→ toshii:反正我都copy過來用就可以了,要研究一下 07/03 17:58
→ kerash:你手指離開銀幕,所以你是用平板?? 07/03 18:03
→ toshii:,我就是在觸控式銀幕上遇到問題的 07/03 18:08
→ ssccg:這段是click連結時原本有iehover的class就去掉,不然就加上 07/03 18:23
→ ssccg:就是你說的用js event作,跟:hover沒關係 07/03 18:26
→ heyyosweet:iehover在這裡應該只是用來判斷使用者的瀏覽器是否為ie 07/11 01:23