1) hover.htc
- Как пользоваться скриптом
Код: Выделить всё
<attach for=element event=onmouseover handler=topm> <attach for=element event=onmouseout handler=verm> <script> function topm(){element.className='hover';} function verm(){element.className='';} </script>
Для начала его необходимо подключить к файлу стилей, например, так (если нужно предусмотреть возможность его применения к любому html-элементу):
Либо, вот так (если хотим его применить только к конкретному элементу):* {behavior:url("hover.htc")}
А непосредственно реализация ховер-эффекта делается следующим образом. Например, если это меню с выпадающим списком:li {behavior:url("hover.htc")}Обратите внимание, что класс .hover - это то, что прописано в самом скрипте. По желанию, название этого класса можно заменить.Код: Выделить всё
li:hover ul, /* для современных браузеров */ li.hover ul { /* для Internet Explorer 6 */ display: block }
- Как пользоваться скриптом
Код: Выделить всё
sfHover = function() { var sfEls = document.getElementById("Id родительского элемента").getElementsByTagName("Имя тега для :hover"); for (var i=0; i<sfEls.length; i++) { sfEls[i].onmouseover=function() { this.className+=" sfhover"; } sfEls[i].onmouseout=function() { this.className=this.className.replace(new RegExp(" sfhover\\b"), ""); } } } if (window.attachEvent) window.attachEvent("onload", sfHover);
Сначала нам нужно подключить его в шаблон либо просто вставив в <head></head> его целикомили же создать, допустим, файл hover.js и так как данный скрипт не нужен никому, кроме тех посетителей, которые используют IE6 сделаем его подключение через условный комментарийКод: Выделить всё
<script type="text/javascript"> sfHover = function() { var sfEls = document.getElementById("Id родительского элемента").getElementsByTagName("Имя тега для :hover"); for (var i=0; i<sfEls.length; i++) { sfEls[i].onmouseover=function() { this.className+=" sfhover"; } sfEls[i].onmouseout=function() { this.className=this.className.replace(new RegExp(" sfhover\\b"), ""); } } } if (window.attachEvent) window.attachEvent("onload", sfHover); </script>
В css шаблонаКод: Выделить всё
<!--[if lte IE 6]> <script type="text/javascript" src="/templates/js/hover.js"></script> <![endif]-->
Обратите внимание, что класс .sfhover - это то, что прописано в самом скрипте. По желанию, название этого класса можно заменить.Код: Выделить всё
li:hover ul, /* для современных браузеров */ li.sfhover ul { /* для Internet Explorer 6 */ display: block }
- Сначала нам нужно скачать саму библиотеку jQuery, затем подключить ее в шаблон
Подключаем библиотеку через условный комментарий (аналогичен сути предыдушего метода) и выполняем инициализацию (вместо "block div" указывается id нужного элемента).В css шаблонаКод: Выделить всё
<!--[if lte IE 6]> <script type="text/javascript" src="/templates/js/jquery-1.2.6.min.js"></script> <script type="text/javascript"> $('#block div').hover( function() { $(this).addClass('hover'); }, function() { $(this).removeClass('hover'); } ); </script> <![endif]-->
Код: Выделить всё
#block:hover div, /* для современных браузеров */ #block.hover div { /* для Internet Explorer 6 */ display: block }
Надеюсь, что данная статейка окажется полезной для начинающих верстальщиков
источник http://joomlaforum.ru/index.php?topic=46060.0