Показать сообщение отдельно
  #4 (permalink)  
Старый 03.03.2010, 16:29
Аватар для doniv
Аспирант
Отправить личное сообщение для doniv Посмотреть профиль Найти все сообщения от doniv
 
Регистрация: 02.03.2010
Сообщений: 73

Сообщение от JAre Посмотреть сообщение
Только не забывай о проблемах IE6 и position: fixed оно его не переваривает.
Лечится, как говорят, вот так:

function AddHandler(element,strEvent,fnName) {
 ref='a'+new Date().valueOf()
 while (typeof element[ref]!='undefined')
     ref='a'+Number(ref.substr(1,100))+1
 if (element[strEvent]) {
  element[ref]=element[strEvent]
  element[strEvent]=new Function("this['"+ref+"']();"+fnName+"()")
 } else {
  element[strEvent]=new Function(fnName+"()")
 }
}

AddHandler(window,'onload','AddFixedSupport')

 function AddFixedSupport() {
  d=document
  styl=d.styleSheets
  if (styl && styl[0]) {
  rules=styl[0].rules
   if (rules) {
    for (i=0;i<rules.length;i++) {
     ris=rules[i].style
     if (ris.position=='fixed') {
      sel=rules[i].selectorText.split('#')
      if (sel && sel[1] && d.getElementById) { 
       el=d.getElementById(sel[1])
       if (el && el.style && el.style.setExpression) {
        el.style.position='absolute'
        el.style.setExpression('top','document.body.scrollTop+'+parseInt(ris.top))
        el.style.setExpression('left','document.body.scrollLeft+'+parseInt(ris.left))
        d.parentWindow.attachEvent("onscroll",d.recalc)

       }
      }
     }
    }
   }
  }
 }
Ответить с цитированием