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

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

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

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

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

  2. Мда, прочитал все коментарии поста и был очень удивлен тому что 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;
    }

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