Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Поделитесь скриптом появляющегося дива
 
 автор: CrazyAngel   (07.08.2006 в 07:57)   письмо автору
 
 

что кликнул див по перх всего появился, по середине, и больше не двиался =)

   
 
 автор: Crux   (07.08.2006 в 09:14)   письмо автору
 
   для: CrazyAngel   (07.08.2006 в 07:57)
 

делаешь невидимый див
в стилях пропишешь абсолютное позиционирование
при клики на элемнет при котором должен появться див вызываешь функцию, которая
высчитывает координаты середины окна и прописывает их в стили left и top для дива
собственно вот так это делается.

PS с набитым ртом разговаривать некультурно, а главное непоятно окружающим.

   
 
 автор: CrazyAngel   (07.08.2006 в 09:22)   письмо автору
 
   для: Crux   (07.08.2006 в 09:14)
 

;) Я знаю как это делаеться, мне лень написать, вот спросил может у кого есть готовый =)

   
 
 автор: AlexSol   (07.08.2006 в 09:46)   письмо автору
 
   для: CrazyAngel   (07.08.2006 в 09:22)
 

может у кого есть готовый =), но с таким подходом тоже лень написать ;)

   
 
 автор: CrazyAngel   (07.08.2006 в 11:23)   письмо автору
 
   для: AlexSol   (07.08.2006 в 09:46)
 

Почему не работает?, не становиться по середине


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1/DTD/xhtml-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<style type="text/css">

</style>
<script type="text/javascript">
<!--
function show_div (div_id) {
    var div_id;
    document.getElementById(div_id).style.top=window.height.value/2;
    document.getElementById(div_id).style.left=window.width.value/2;
    document.getElementById(div_id).style.visibility="visible";
    document.getElementById(div_id).innerHTML="width : "+screen.width+"<br>height : "+screen.height;
    }
function hide_div (div_id) {
    var div_id;
    document.getElementById(div_id).style.visibility="hidden";
    }
-->
</script>
</head>
<body>
<div id="mega_div" style="background-color: #c0c0c0;position:absolute;z-index:2;visibility:hidden;border=2px" onclick="hide_div('mega_div')")>Я существую</div>
<div id="super_div" onclick="show_div('mega_div')" style="cursor:hand">Показать</div>
</body>
</html>

   
 
 автор: AlexSol   (07.08.2006 в 11:39)   письмо автору
 
   для: CrazyAngel   (07.08.2006 в 11:23)
 

так бы сразу :)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1/DTD/xhtml-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title></title> 
<meta http-equiv="content-type" content="text/html; charset=windows-1251" /> 
<style type="text/css"> 

</style> 
<script type="text/javascript"> 
<!-- 
function show_div (div_id) { 
    var div_id; 
    
    document.getElementById(div_id).style.left=document.body.clientWidth/2 -100; 
    document.getElementById(div_id).style.top=document.body.clientHeight/2-100; 
    document.getElementById(div_id).style.visibility="visible"; 
    document.getElementById(div_id).innerHTML+="<br>width : "+document.body.clientWidth+"<br>height : "+document.body.clientHeight; 
    } 
function hide_div (div_id) { 
    var div_id; 
    document.getElementById(div_id).style.visibility="hidden"; 
    } 
--> 
</script> 
</head> 
<body style="border:1px solid silver; padding:0; margin:0; height:100%"> 
<div id="mega_div" style="cursor:pointer; position:absolute; z-index:2; visibility:hidden; border:2px solid red; width:200px; height:200px" onclick="hide_div('mega_div')")>Я существую</div> 
<div id="super_div" onclick="show_div('mega_div')" style="cursor:pointer">Показать</div> 
</body> 
</html> 

   
 
 автор: CrazyAngel   (07.08.2006 в 12:29)   письмо автору
 
   для: AlexSol   (07.08.2006 в 11:39)
 

пасиб =)

   
 
 автор: AlexSol   (07.08.2006 в 12:37)   письмо автору
 
   для: CrazyAngel   (07.08.2006 в 12:29)
 

пажал =)

   
 
 автор: sponge   (15.08.2006 в 13:33)   письмо автору
 
   для: AlexSol   (07.08.2006 в 12:37)
 

А как сделать чтобы сразу на странице элемент распологался ровно по центру по вертикали, без кликов вызывания этой функции

   
 
 автор: AlexSol   (15.08.2006 в 13:35)   письмо автору
 
   для: sponge   (15.08.2006 в 13:33)
 


<div id='AS'>sqsqsoqskqoskoqskq</div>
<script type="text/javascript">  
<!--  
function show_div (div_id) {  
    var div_id;  
    document.getElementById(div_id).style.left=document.body.clientWidth/2 -100;  
    document.getElementById(div_id).style.top=document.body.clientHeight/2-100;  
    document.getElementById(div_id).style.visibility="visible";  
    document.getElementById(div_id).innerHTML+="<br>width : "+document.body.clientWidth+"<br>height : "+document.body.clientHeight;  
    }  
function show_div ('AS'
</script> 

   
 
 автор: sponge   (15.08.2006 в 13:49)   письмо автору
 
   для: AlexSol   (15.08.2006 в 13:35)
 


<style type="text/css">
#CenterBody {position:absolute;margin-left:15%;margin-right:15%;}
</style>
<script type="text/javascript">  
<!--   
function Valignt (div_id) {
 var div_id;
 document.getElementById(div_id).style.top=document.body.clientHeight/2;  
 }
function Valignt ('CenterBody')
-->   
</script>

<div id="CenterBody">
<table border=0 cellpadding=0 cellspacing=0 style="width:70%;"> 
  
  <tr>
    <td>Тест Тест Тест Тест</td>
  </tr>  
  
</table>
</div>



не хочет работать(

   
 
 автор: AlexSol   (15.08.2006 в 14:05)   письмо автору
 
   для: sponge   (15.08.2006 в 13:49)
 

все верно. код выполняется сверху страницы: сначала <script type="text/javascript"> ....

потом <div id="CenterBody"> . т.е. происходит вызов CenterBody в тот момент, когда его еще нет.

поместите код после описания div как у меня.

   
 
 автор: sponge   (15.08.2006 в 14:50)   письмо автору
 
   для: AlexSol   (15.08.2006 в 14:05)
 

спасибо
только судя по всему document.body.clientHeight определяется как ноль, т.к. отступа сверху полностью нет

   
 
 автор: RMW   (15.08.2006 в 15:11)   письмо автору
 
   для: sponge   (15.08.2006 в 14:50)
 

Возможно кросс-браузерные проблемы
http://www.softtime.ru/forum/read.php?id_forum=4&id_theme=16036&page=1

   
 
 автор: RMW   (15.08.2006 в 14:09)   письмо автору
 
   для: sponge   (15.08.2006 в 13:49)
 


<html>
<head>
<style type="text/css"> 
#CenterBody {position:absolute;margin-left:15%;margin-right:15%;} 
</style>
</head>
<body>

<div id="CenterBody"> 
<table border=0 cellpadding=0 cellspacing=0 style="width:70%;">  
   
  <tr> 
    <td>Тест Тест Тест Тест</td> 
  </tr>   
   
</table> 
</div>
 
<script type="text/javascript">   
  <!--    
    function Valignt (div_id) {
    var div_id; 
    document.getElementById(div_id).style.top=document.body.clientHeight/2;   
    } 
    Valignt ('CenterBody') 
  -->    
</script> 

</body>
</html>

   
 
 автор: sponge   (18.08.2006 в 20:48)   письмо автору
 
   для: CrazyAngel   (07.08.2006 в 07:57)
 

http://godbase.tosay.ru/text/test/books.html
картинки из меню почему-то находятся выше чем див, который появляется по клику по сссылке
скажите пожалуйста как исправить

   
 
 автор: CrazyAngel   (18.08.2006 в 21:13)   письмо автору
 
   для: sponge   (18.08.2006 в 20:48)
 

вот к этому прибавить z-index;

div.ex-large {position: absolute; display: none; left: 25%; top: 15%;}


тоесть должно получиться


div.ex-large {position: absolute; display: none; left: 25%; top: 15%;z-index: 3;}

   
 
 автор: sponge   (18.08.2006 в 21:19)   письмо автору
 
   для: CrazyAngel   (18.08.2006 в 21:13)
 

не помогает

   
 
 автор: CrazyAngel   (18.08.2006 в 21:24)   письмо автору
 
   для: sponge   (18.08.2006 в 21:19)
 

как так, я у себя локально сохранил, изменил и все работает!!!

   
 
 автор: sponge   (18.08.2006 в 21:29)   письмо автору
 
   для: CrazyAngel   (18.08.2006 в 21:24)
 

точно в FF работает, в IE - нет

   
 
 автор: Padonak   (18.08.2006 в 21:46)   письмо автору
 
   для: sponge   (18.08.2006 в 21:19)
 

на кой ляд столько дивов там?! ужос! стоит ли так увлекатцо?

   
 
 автор: sponge   (18.08.2006 в 21:47)   письмо автору
 
   для: Padonak   (18.08.2006 в 21:46)
 

да и не особо там и дивов много
особенно в нужной части кода, всего три

   
 
 автор: Padonak   (19.08.2006 в 02:56)   письмо автору
 
   для: sponge   (18.08.2006 в 21:47)
 

ага... и плюс по одному на каждой сцылке :-)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования