Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как сделать рекламку неподвижной (https://javascript.ru/forum/jquery/8014-kak-sdelat-reklamku-nepodvizhnojj.html)

stardel 03.03.2010 11:41

Как сделать рекламку неподвижной
 
Есть задумка сделать рекламки-картинки по верх всего контента,чтобы она не прокручивалась а оставалась на месте.И чтобы можно было залинковать всё это.У меня Джумла, подскажите плизз как всё это сделать) Заранее большое СПС тому кто откликнется)

doniv 03.03.2010 16:14

Это проще сделать с помощью css, position: fixed;.
А вообще такой вид рекламы, есть очень дурной тон.

JAre 03.03.2010 16:24

Только не забывай о проблемах IE6 и position: fixed оно его не переваривает. Но такого же эффекта можно добиться переносимым шаманством, вроде помещения содержимого страницы в фрэйм со скролбаром и расположения рекламки поверх. Тогда пользователь будет прокручивать фрэйм, а не саму страницу а рекламка будет неподвижна.

doniv 03.03.2010 16:29

Цитата:

Сообщение от JAre (Сообщение 46672)
Только не забывай о проблемах 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)

       }
      }
     }
    }
   }
  }
 }

stardel 03.03.2010 16:54

doniv cпс) но мне просто нужно небольшую рекламку пустить не на долго.Не простой код для меня,почти не знакомого с Java...
JAre а ничего если у меня эта страница на PHP,как туда Html пристроить?

doniv 03.03.2010 16:57

Код который я сюда скопировал, является популярной заплаткой. Его не обязательно понимать, чтобы использовать.
А вот ваш второй вопрос просто вфигачивает меня в землю:)

JAre 03.03.2010 17:03

stardel
Конечно, легче написать php скрипт, который напишет Java скрипт, который модифицирует документ. Аля C++ шаблоны.

Выложи свой php возможно, здесь найдутся добрые простодушные люди :)

stardel 03.03.2010 17:57

doniv да это я что то тормознул.....),просто мне на PHP проще а Html конечно просто кодом.
JAre спс большое но наверно придётся просто сделать простую рекламку чтобы не заморачиваться и не прослыть сайтом с Дурным тоном)

Achilles_sm 04.03.2010 12:57

а чем решение от студии Лебедева не устраивает?
<!--[if IE]>
#fixeddiv {
position: absolute;
left: 200px;
top: expression(eval(document.body.scrollTop + 200) + "px");
}
<![endif]-->

блок будет фиксированно висеть на странице отступив на 200px слева и сверху. Чтобы не дёргался надо просто зафиксировать фон body
body {
background: url('/n.gif') no-repeat;
background-attachment: fixed;
}
где n.gif -- любой фон. если не нужен, то сделай однопиксельный прозрачный... да. А для нормальных броузеров не забудь указать
#fixeddiv {
position: fixed;
}
всего-то делов...

stardel 04.03.2010 13:40

Achilles_sm СПС!) взял себе на вооружение)


Часовой пояс GMT +3, время: 04:57.