Простейший скрипт для реализации hover-эффекта для любого элемента в Internet Explorer 6

Внимание: рекомендуется обновленная версия данной статьи. Несмотря на то, что данное решение уже опубликовано в РУнете не мной, я просто не могу не написать о нем, т.к. решение, на мой взгляд, достойно внимания, и нужно его популяризовать посредством моего блога. Я постоянно слежу за материалами ...

Комментарии (63)

  1. Ребят, отметьте в статье, что не стоит цеплять htc’цешку на селектор *. Попробуйте взять очень большую страничку с плотной верстокой(сохраните на винт, например, страницу хабра с большим количестов комментов) и добавьте в стили: «* { behavior:url(«какой нибудь.htc»); }»
    Посмотрите что станет с ишаком. На каждый встреченный html-элемент (даже
    будет запрашиваться и выполняться скрипт.
    Такие вещи (behavior и любые expression) всегда применяются точечно — если они нужены где-то, то надо создать класс и только на него и вешать.
    Удачи.

  2. Такие вещи (behavior и любые expression) всегда применяются точечно — если они нужены где-то, то надо создать класс и только на него и вешать.

    Вот за это — огромное спасибо!

  3. Мда, прочитал все коментарии поста и был очень удивлен тому что Jman говорил о реальных вещах которые и доказательств то не требуют, а ему както сразу и неповерили. Если вы только верстаете и не будете делать функционал то не спешите цеплять на все елементы id, лучше сделайте через class, а программер, если понадобится, сам потом прицепит нужный ему айдишник и по нем разрулит js.
    Вот решение которое я когдато применял:
    выносим в ie6.css


    #navigation li{
    behavior: expression(
    this.onmouseover = new Function("this.className += ' hover'"),
    this.onmouseout = new Function("this.className = this.className.replace(' hover','')"),
    this.style.behavior = null);
    }

    ну а в обычном все как и прежде


    #navigation li:hover,
    #navigation li.hover{
    background:#f00;
    }

    Но все же это нестоит применять. Так как експрешн будет тормозить работу браузера, заметно будет на больших страницах