国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

csshover.htc可以解決ie6下hover不起作用等兼容問題

2024-07-11 08:34:32
字體:
來源:轉載
供稿:網友

在ie6 下只有a 才支持:hover 偽類,其它標簽都不支持,現在可以通過 csshover.htc 可以解決 ie6 的 hover 兼容問題。
它利用 javascript 腳本來給元素的的樣式定義,如果檢測到 hover 定義,就給元素設置 onmouseover 和 onmouseout 事件,以此來實現 hover 的效果。
以下是 csshover.htc 代碼


<attach event=”ondocumentready” handler=”parseStylesheets”/>
<script language=”JScript”>
var currentSheet, doc = window.document, activators = {
onhover:{on:’onmouseover’, off:’onmouseout’},
onactive:{on:’onmousedown’, off:’onmouseup’}
};
function parseStylesheets(){
var sheets = doc.styleSheets, l = sheets.length;
for(var i = 0; i < l; i++){
parseStylesheet(sheets[i]);
};
};
function parseStylesheet(sheet){
if(sheet.imports){
try{
var imports = sheet.imports, l = imports.length;
for(var i = 0; i < l; i++){
parseStylesheet(sheet.imports[i]);
};
}catch(securityException){};
};
try{
var rules = (currentSheet = sheet).rules, l = rules.length;
for(var j = 0; j < l; j++){
parseCSSRule(rules[j]);
};
}catch(securityException){};
};
function parseCSSRule(rule){
var select = rule.selectorText, style = rule.style.cssText;
if(!(/(^|/s)(([^a]([^ ]+)?)|(a([^#.][^ ]+)+)):(hover|active)/i).test(select) || !style) return;
var pseudo = select.replace(/[^:]+:([a-z-]+).*/i, ‘on$1’);
var newSelect = select.replace(/(/.([a-z0-9_-]+):[a-z]+)|(:[a-z]+)/gi, ‘.$2’ + pseudo);
var className = (//.([a-z0-9_-]*on(hover|active))/i).exec(newSelect)[1];
var affected = select.replace(/:hover.*$/, ”);
var elements = getElementsBySelect(affected);
currentSheet.addRule(newSelect, style);
for(var i = 0; i < elements.length; i++){
new HoverElement(elements[i], className, activators[pseudo]);
};
};
function HoverElement(node, className, events){
if(!node.hovers) node.hovers = {};
if(node.hovers[className]) return;
node.hovers[className] = true;
node.attachEvent(events.on, function(){
node.className += ‘ ‘ + className;
});
node.attachEvent(events.off, function(){
node.className = node.className.replace(new RegExp(‘//s+’+className, ‘g’),”);
});
};
function getElementsBySelect(rule){
var parts, nodes = [doc];
parts = rule.split(‘ ‘);
for(var i = 0; i < parts.length; i++){
nodes = getSelectedNodes(parts[i], nodes);
};
return nodes;
};
function getSelectedNodes(select, elements){
var result, node, nodes = [];
var classname = (//.([a-z0-9_-]+)/i).exec(select);
var identify = (//#([a-z0-9_-]+)/i).exec(select);

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平度市| 承德县| 石嘴山市| 桓仁| 日喀则市| 公安县| 格尔木市| 巴中市| 岗巴县| 阳信县| 洪泽县| 宁陕县| 上饶市| 红河县| 额尔古纳市| 聊城市| 万山特区| 灯塔市| 建平县| 木兰县| 万源市| 古交市| 宁夏| 扎赉特旗| 河源市| 闸北区| 德钦县| 亳州市| 维西| 泰安市| 哈巴河县| 志丹县| 静乐县| 衡东县| 呼和浩特市| 五寨县| 宁南县| 越西县| 甘南县| 南华县| 涟水县|