Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Открывающий слайд (https://javascript.ru/forum/misc/2672-otkryvayushhijj-slajjd.html)

serg222 30.01.2009 08:54

Открывающий слайд
 
Как можно сделать чтоб слайд открывался и закрывался одной ссылкой вместо двух?

<script type="text/javascript" language="javascript">
//<![CDATA[

window.onload=function()
{
document.getElementById("d2").onclick = slideIt;
document.getElementById("d3").onclick = slideIn;
};

function slideIt()
{

var slidingDiv = document.getElementById("d1");
var stopPosition = 1;

if (parseInt(slidingDiv.style.left) < stopPosition )
{
slidingDiv.style.left = parseInt(slidingDiv.style.left) + 6 + "px";
setTimeout(slideIt, 1);
}
}

function slideIn()
{

var slidingDiv = document.getElementById("d1");
var stopPosition = -50;


if (parseInt(slidingDiv.style.left) > stopPosition )
{
slidingDiv.style.left = parseInt(slidingDiv.style.left) - 6 + "px";
setTimeout(slideIn, 1);
}

}
//]]>
</script>


<div id="d1" style="position:absolute; left:-50px; top:0px">
<div id="d2" >открыть/div>
<div id="d3" >закрыть</div>
</div>

Ilya 30.01.2009 12:58

serg222,

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" language="javascript">
//<![CDATA[
var bool = false; // Создаем глобальную переменную
function openClose() // Функция, которая будет срабатывать при щелчке по слайду
{
if(bool == false) { // Если глобальная переменная равна false, то слайд открывается
document.getElementById("d2").onclick = slideIt;
bool = true; // Замена переменной означает, что слайд открыт 
}
else { // Если глобальная переменная равна true, то слайд закрывается
document.getElementById("d2").onclick = slideIn;
bool = false; // А сейчас слайд закрыт
}
}
 
function slideIt()
{
 
var slidingDiv = document.getElementById("d1");
var stopPosition = 1;
 
if (parseInt(slidingDiv.style.left) < stopPosition )
{
slidingDiv.style.left = parseInt(slidingDiv.style.left) + 6 + "px";
setTimeout(slideIt, 1);
}
}
 
function slideIn()
{
 
var slidingDiv = document.getElementById("d1");
var stopPosition = -50;
 
 
if (parseInt(slidingDiv.style.left) > stopPosition )
{
slidingDiv.style.left = parseInt(slidingDiv.style.left) - 6 + "px";
setTimeout(slideIn, 1);
}
 
}
//]]>
</script>
</head>
<body>
<div id="d1" style="position:absolute; left:-50px; top:0px" onmousedown="openClose()">
<div id="d2" >открыть закрыть</div>
</div>
</body>
</html>


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