Перемещение div блока
Народ, помогите нужно чтобы при нажатии на кнопку перемещялся div блок. Как это осуществить?
Вот код <html> <head> <style> .page2{ width:637; height:660;} .users{ width:238; height:441; padding-top:126px;} .online{ width:236; height:159; background-image: url(images/online.png); left:10px;} .offline{ width:236; height:232; background-image: url(images/offline.png);} </style> </head> <body> <div class="page2"> <div class="users"> <div class="online" onclick="this.style.left=parseInt(this.style.left) +20+'px'"></div> <div class="offline"></div> </div> <input type="submit"> <div class="square" onclick="this.style.left=parseInt(this.style.left) +20+'px'" style="left: 10px">111</div> </div> </body> </html> |
На мой взгляд, тут всё дело в том, что параметры, заданные в тегах <style></style> не задают свойство style, поэтому необходимо либо задать эти параметры в атрибуте style тега, либо явно установить их в коде.
<button id="myButton">→</button>
<div id="myDiv"></div>
<script>
window.onload = function () {
with (myDiv.style) {
position = 'absolute';
left = '60 px';
top = '10 px';
width = '40 px';
height = '40 px';
background = 'green';
}
}
myButton.onclick = function () {
myDiv.style.left = parseInt(myDiv.style.left) + 20 + 'px';
}
</script>
|
Цитата:
....onclick=this.style['margin-left']='20px' |
Цитата:
Но ваш способ также работоспособен, например, если ввести дополнительную переменную (другого пока на ум не приходит), например, var step = 0; и добавить в обработчик её увеличение: onclick = "step = step + 20; this.style['margin-left'] = step + 'px'" |
Цитата:
а в варианте автора я вместо parseInt(this.style.left) пишу this.offsetLeft -при нестатическом позиционировании |
Цитата:
|
| Часовой пояс GMT +3, время: 02:00. |