猿问

请问一下,我的csshover.htc这个文件怎么用不了呢?

请问 一下,我的csshover.htc这个文件怎么用不了呢?

不是说这个是一个:hover的IE6的兼容性文件吗?我从网上下载了过来,引入进来没有作用。

想问一下各位,这个文件是怎么用的。

<!doctype html>

<html>

<head>

<meta charset="utf-8">

<title>无标题文档</title>

<style type="text/css">

 *******************************   这里是引入位置         ***************************************************************

body {padding:0;font-size:10px;behavior:url(css/csshover.htc);}

.topmenu {display:block;width:220px;border:2px solid #e4393c;margin:0;padding:0;}

.toptitle {height:40px;line-height:40px;text-align:left;font-size:11pt;font-weight:bold;color:White;background:#e4393c;padding-left:20px;}

.topmenu li {height:30px;line-height:30px;font-size:11pt;list-style-type:none;text-align:left;padding-left:8px;z-index:3;background-image:url(images/i_1.jpg);background-repeat:no-repeat;background-position:right;}

.topmenu li a {text-decoration:none;color:#313131;}

.topmenu li a:hover {text-decoration:underline;font-weight:bold;color:#e4393c;}

.topmenu li:hover {border:1px solid #DDD;border-right:0;box-shadow:0 0 8px #DDD;-moz-box-shadow:0 0 8px #DDD;-webkit-box-shadow:0 0 8px #DDD;background-image:none;}

.submenu {display:none;width:715px;left:220px;position:absolute;top:40px;border:1px solid #DDD;z-index:4;background:white;box-shadow:0 0 8px #DDD;-moz-box-shadow: 0 0 8px #DDD;-webkit-box-shadow:0 0 8px #DDD;}

.leftdiv {float:left;width:490px;margin:5px;}

.rightdiv {float:left;width:200px;margin:5px;}

.topmenu li:hover .submenu {display:block;}

.topmenu li:hover span {background:white;display:inline-block;z-index:20;width:20px;height:30px;float:right;position:relative;}

.leftdiv dl {display:block;border:1px solid #EEE;padding-bottom:6px;overflow:hidden;}

.leftdiv dl dt {display:block;float:left;text-align:right;height:22px;line-height:22px;padding-bottom:6px;}

.leftdiv dl dt a {color:#e4393c;font-size:10pt;font-weight:bold;text-decoration:underline;}

.leftdiv dl dd {display:block;overflow:hidden;}

.leftdiv dl dd a {display:block;float:left;border-left:1px solid #CCC;color:#373737;font-size:9pt;padding:0 8px;height:14px;line-height:14px;margin: 4px 0;}

.rightdiv dl dd {margin:3px 0;}

.rightdiv dl dt {color:#e4393c;font-weight:bold;font-size:10pt;}

.rightdiv dl dd a {font-size:9pt;color:#737373;line-height:22px;}

.rightdiv dl dd a:hover {color:#737373;font-size:normal;}

</style>

</head>



<body>

<ul class="topmenu">

    <div id="topmenu" class="toptitle">

      全部商品分类

    </div>

    <li><a href="#">图书、音像、数字商品</a><span></span>

        <div class="submenu">

            <div class="leftdiv">

            <dl>

                <dt><a href="#">电子书</a></dt>

                <dd>

                <a href="#">免费</a><a href="#">小说</a><a href="#">励志与成功</a>

                <a href="#">文学</a><a href="#">经管</a><a href="#">畅读VIP</a>

                </dd>

                </dl>

            </div>

            <div class="rightdiv">

            <dl>

                <dd><a href="#"><img src="images/footer_logo03.gif"/></a></dd>

                <dd><a href="#"><img src="images/footer_logo03.gif"/></a></dd>

                </dl>

                

                <dl>

                <dt>推荐品牌</dt>

                <dd>

                <a href="#">美的官方旗舰店</a>

                </dd>

                <dd>

                <a href="#">美的官方旗舰店</a>

                </dd>

                <dd>

                <a href="#">美的官方旗舰店</a>

                </dd>

                <dd>

                <a href="#">美的官方旗舰店</a>

                </dd>

                <dd>

                <a href="#">美的官方旗舰店</a>

                </dd>

                <dd>

                <a href="#">美的官方旗舰店</a>

                </dd>

                </dl>

            </div>

        </div>

    </li>

    <li><a href="#">家用电器</a></li>

    <li><a href="#">手机、数码</a></li>

    <li><a href="#">电脑、办公</a></li>

    <li><a href="#">家居、家具、家装、厨具</a></li>

    <li><a href="#">服饰内衣、珠宝首饰</a></li>

    <li><a href="#">个护化妆</a></li>

    <li><a href="#">鞋靴、箱包、钟表、奢侈品</a></li>

    <li><a href="#">运动户外</a></li>

    <li><a href="#">汽车用品</a></li>

    <li><a href="#">母婴、玩具乐器</a></li>

    <li><a href="#">食品饮料、酒类、生鲜</a></li>

    <li><a href="#">营养保健</a></li>

</ul>

</body>

</html>


****************************    csshover.htc    这个文件,源文件本身的代码   *************************************************

<attach event="ondocumentready" handler="parseStylesheets" />

<script>

/**

 * Whatever:hover - V1.42.060206 - hover & active

 * ------------------------------------------------------------

 * (c) 2005 - Peter Nederlof

 * Peterned - http://www.xs4all.nl/~peterned/

 * License  - http://creativecommons.org/licenses/LGPL/2.1/

 *

 * Whatever:hover is free software; you can redistribute it and/or

 * modify it under the terms of the GNU Lesser General Public

 * License as published by the Free Software Foundation; either

 * version 2.1 of the License, or (at your option) any later version.

 *

 * Whatever:hover is distributed in the hope that it will be useful,

 * but WITHOUT ANY WARRANTY; without even the implied warranty of

 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU

 * Lesser General Public License for more details.

 *

 * Credits and thanks to:

 * Arnoud Berendsen, Martin Reurings, Robert Hanson

 *

 * howto: body { behavior:url("csshover.htc"); }

 * ------------------------------------------------------------

 */


var csshoverReg = /(^|\s)(([^a]([^ ]+)?)|(a([^#.][^ ]+)+)):(hover|active)/i,

currentSheet, doc = window.document, hoverEvents = [], activators = {

onhover:{on:'onmouseover', off:'onmouseout'},

onactive:{on:'onmousedown', off:'onmouseup'}

}


function parseStylesheets() {

if(!/MSIE (5|6)/.test(navigator.userAgent)) return;

window.attachEvent('onunload', unhookHoverEvents);

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(!csshoverReg.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|active).*$/, '');

var elements = getElementsBySelect(affected);

if(elements.length == 0) return;


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;

hookHoverEvent(node, events.on, function() { node.className += ' ' + className; });

hookHoverEvent(node, events.off, function() { node.className = node.className.replace(new RegExp('\\s+'+className, 'g'),''); });

}

function hookHoverEvent(node, type, handler) {

node.attachEvent(type, handler);

hoverEvents[hoverEvents.length] = { 

node:node, type:type, handler:handler 

};

}


function unhookHoverEvents() {

for(var e,i=0; i<hoverEvents.length; i++) {

e = hoverEvents[i]; 

e.node.detachEvent(e.type, e.handler);

}

}


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 identify = (/\#([a-z0-9_-]+)/i).exec(select);

if(identify) {

var element = doc.getElementById(identify[1]);

return element? [element]:nodes;

}

var classname = (/\.([a-z0-9_-]+)/i).exec(select);

var tagName = select.replace(/(\.|\#|\:)[a-z0-9_-]+/i, '');

var classReg = classname? new RegExp('\\b' + classname[1] + '\\b'):false;

for(var i=0; i<elements.length; i++) {

result = tagName? elements[i].all.tags(tagName):elements[i].all; 

for(var j=0; j<result.length; j++) {

node = result[j];

if(classReg && !classReg.test(node.className)) continue;

nodes[nodes.length] = node;

}

}

return nodes;

}

</script>


未来99
浏览 1724回答 1
1回答

不知名的前端程序猴

body {behavior:url('XXX/csshover.htc');}
随时随地看视频慕课网APP

相关分类

CSS3
我要回答