Помогите с функцией
Вообщем доделал я движущиеся блоки теперь вопрос такой: как заставить желтый квадрат сдвигать влево и возвращать блок обратно на место?
<script>
var interval;
function slide() {
if (parseInt(document.getElementById("block").style.right) < 400) {
document.getElementById("block").style.right = parseInt(document.getElementById("block").style.right)+10
setTimeout("slide()",10)
}
}
function back() {
if (parseInt(document.getElementById("block").style.right) > 0) {
document.getElementById("block").style.right = parseInt(document.getElementById("block").style.right)-10
setTimeout("back()",10) ;
}
}
</script>
<div id="block" style="z-index: 2; position:absolute; right:0px; top:100px; width:100%; height:150px; background:red;">
<a href="javascript:slide()" style="position:absolute; width:30px;height:30px; right:30px; top:30px; background:yellow;"></a></div>
<div style="z-index: 1; position:absolute; right:0px; top:100px; width: 400px; height:150px; background:black;">
<a href="javascript:back()" style="position:absolute; width:30px; height:30px; right:30px; top:30px; background:green;"></a></div>
Заранее спасибо |
<style>
.block.moved {
left: 200px;
}
.block {
background: red;
width: 20px;
height: 20px;
position: absolute;
left: 0;
top: 35px;
transition: left 1s ease;
-webkit-transition: left 1s ease;
-moz-transition: left 1s ease;
-o-transition: left 1s ease;
-ms-transition: left 1s ease;
}
</style>
<a>Двигать</a>
<div class="block"></div>
<script>
document.querySelector("a").addEventListener("click", function () {
document.querySelector(".block").classList.toggle("moved");
}, false);
</script>
|
Это то что нужно спасибо сейчас буду шаманить!
|
а есть ли возможность совместить с моей функцией?
моя функция мне необходима для 2 div |
<style>
.block.moved {
left: 200px;
}
.block {
background: red;
width: 20px;
height: 20px;
position: absolute;
left: 0;
top: 35px;
transition: left 1s ease;
-webkit-transition: left 1s ease;
-moz-transition: left 1s ease;
-o-transition: left 1s ease;
-ms-transition: left 1s ease;
}
</style>
<div>
<a>Двигать</a>
<div class="block"></div>
</div>
<div>
<a>Двигать</a>
<div style="top: 65px;" class="block"></div>
</div>
<script>
[].forEach.call(document.querySelectorAll("a"), function (elem) {
elem.addEventListener("click", function () {
this.parentNode.querySelector(".block").classList.toggle("moved");
}, false)});;
</script>
|
Смысл понятен спасибо!
|
А не подскажешь мне еще 1 момент: как мне тег <a> посадить во внутрь передвигаемого <div> пробовал назначит класс не получилось! во вне работает отлично. ставлю во внутрь не работает!
|
<style>
.block.moved {
left: 200px;
}
.block {
background: red;
width: 200px;
height: 20px;
position: absolute;
left: 0;
top: 35px;
transition: left 1s ease;
-webkit-transition: left 1s ease;
-moz-transition: left 1s ease;
-o-transition: left 1s ease;
-ms-transition: left 1s ease;
}
</style>
<div>
<div class="block"><a>Двигать</a></div>
</div>
<div>
<div style="top: 65px;" class="block"><a>Двигать</a></div>
</div>
<script>
[].forEach.call(document.querySelectorAll("a"), function (elem) {
elem.addEventListener("click", function () {
this.parentNode.classList.toggle("moved");
}, false)});
</script>
|
Отлично!!! Теперь и в другом div чтобы функция работала. Вот пример:
<style>
.block.moved {
right: 300px;
}
.block {
background: red;
width: 100%;
height: 100px;
position: absolute;
right: 0;
z-index:2;
top: 35px;
transition: right 1s ease;
-webkit-transition: right 1s ease;
-moz-transition: right 1s ease;
-o-transition: right 1s ease;
-ms-transition: right 1s ease;
}
.blocks{
background: black;
width: 300px;
height: 100px;
position: absolute;
right: 0;
top: 35px;
z-index:1;
}
.a{
background:green;
width:30px;
height:30px;
position:absolute;
top:20px;
right:20px;
}
</style>
<div>
<div class="block">
<a class="a"></a>
</div>
<div class=blocks>
<a class="a" style="background:blue;"></a>
</div>
</div>
<script>
[].forEach.call(document.querySelectorAll(".a"), function (elem) {
elem.addEventListener("click", function () {
this.parentNode.classList.toggle("moved");
}, false)});
</script>
|
<style>
.block.moved {
right: 300px;
}
.blocks.moved {
right: 260px;
}
.block {
background: red;
width: 100%;
height: 100px;
position: absolute;
right: 0;
z-index:2;
top: 35px;
transition: right 1s ease;
-webkit-transition: right 1s ease;
-moz-transition: right 1s ease;
-o-transition: right 1s ease;
-ms-transition: right 1s ease;
}
.blocks{
background: black;
width: 300px;
height: 100px;
position: absolute;
right: 0;
top: 35px;
z-index:1;
transition: right 1s ease;
-webkit-transition: right 1s ease;
-moz-transition: right 1s ease;
-o-transition: right 1s ease;
-ms-transition: right 1s ease;
}
.a{
background:green;
width:30px;
height:30px;
position:absolute;
top:20px;
right:20px;
}
</style>
<div>
<div class="block">
<a class="a"></a>
</div>
<div class=blocks>
<a class="a" style="background:blue;"></a>
</div>
</div>
<script>
[].forEach.call(document.querySelectorAll(".a"), function (elem) {
elem.addEventListener("click", function () {
this.parentNode.classList.toggle("moved");
}, false)});
</script>
|
| Часовой пояс GMT +3, время: 15:11. |