[英]Having hover effects on HTML element without actually hovering via jQuery/JavaScript?
[英]Is it possible to get an a:hover color via javascript without hovering on the element?
我想嗅探一下如果將鼠標懸停在鏈接上而不實際將其懸停在鏈接上將變成的顏色。 我要這樣做的原因是,我知道將其更改回使用動畫效果的原因,因為可以通過動態應用各種外觀設置顏色。 我可以使用javascript或jquery進行此操作(還是有其他方法可以執行此操作)?
編輯:我已經使用CSS過渡實現了此功能,但我需要IE9及以下版本的JavaScript
不,不幸的是,這是不可能的:您可以使用getComputedStyle()
來檢索有關偽元素( ::before
/ ::after
)的信息,但不能檢索:hover
偽選擇器。
參考文獻:
您可以從樣式表中獲取值: http : //jsfiddle.net/wt3qQ/
// code I found here: http://catcode.com/dominfo/getstyle2.html
function getStyleBySelector( selector )
{
var sheetList = document.styleSheets;
var ruleList;
var i, j;
/* look through stylesheets in reverse order that
they appear in the document */
for (i=sheetList.length-1; i >= 0; i--)
{
ruleList = sheetList[i].cssRules;
for (j=0; j<ruleList.length; j++)
{
if (ruleList[j].type == CSSRule.STYLE_RULE &&
ruleList[j].selectorText == selector)
{
return ruleList[j].style;
}
}
}
return null;
}
console.log(getStyleBySelector('a:hover').color);
console.log(getStyleBySelector('#link:hover').color);
如果您打算對顏色進行動畫處理,那么( 對於現代瀏覽器 )可以啟用顏色過渡,這樣顏色將自動進行動畫處理:hover
要應用代碼,您可以執行
$('element').css({
'-webkit-transition':'color 0.5s',
'-moz-transition':'color 0.5s',
'-o-transition':'color 0.5s',
'transition':'color 0.5s',
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.