Jump to content

Подскажите на счет слоя.


Recommended Posts

Как сделать, чтоб слой двигался как окна в операционной системы. Наверно всем приходило личное сообщение на софтфоруме оно появляется в таком слое как и мне нужно. Как так сделать помогите плиз.

Заранее спасибо.

Link to comment
Share on other sites

alex45: DHTML Forever!

Есть такой тег DIV

Спомощью него собственно и создаются слои

все его свойства лучше определять через css

через javascript можно переопределять его свойства

то есть всё стандартно!

Чтобы слой был подвижным нужно будет поменять пару свойств в css

  • position - для нашего случая всегда absolute
  • left - количество пикселов от левого края браузера, по умолчанию 0
  • top - количество пикселов от верхнего края браузера, по умолчанию 0

Итак, собственно объявление тега:

<div id="dMoved" style="position:absolute; left:0; top:100; display:none; width:250; height:100;">Содержимое слоя</div>

Так как этот тег будет нами позиционироваться, его расположение в коде значения не имеет, но я бы посоветовал разместить его в конце, перед </body>

так же я использовал свойство display чтобы скрыть слой, покажем его после полной загрузки страницы.

Теперь внутри блока head нам нужен джаваскрипт:

<script language="javascript"><!--//Для начала сделаем функцию которая будет быстро позиционировать наш слойfunction dm_move(vLeft, vTop) { var el = document.getElementById ? document.getElementById('dMoved') : document.all['dMoved']; el.style.left = vLeft; el.style.top = vTop;}//Теперь нужно знать ширину и высоту браузераif(navigator.userAgent.indexOf('MSIE') != -1) { doc_width = document.body.clientWidth; doc_height = document.body.clientHeight;} else { doc_width = self.innerWidth; doc_height = self.innerHeight;}//При полной загрузки страницы, центруем слой и показываем посетителюwindow.onload = function() { var el = document.getElementById ? document.getElementById('dMoved') : document.all['dMoved']; var elWC = el.style.width / 2; var doc_center = doc_width / 2; var elL = doc_center - elWC - 1; dm_move(elL, 100); el.style.display = "block";}//--></script>

вот собственно и всё, удачи!

Link to comment
Share on other sites

Спасбо за помощь, но у меня не работает. Я просто вечером делал уже бошка не сображает. Дай плиз полный код.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...