我在div中有以下代码,在点击移动按钮时移动div:
<input id="move1" class="smallButtonidle" type="button" value="M" style="top: 0px; left: 0px; float: left;" />
<script type="text/javascript">
var isDown1 = false;
document.getElementById('move1').addEventListener('mousedown', function(e1)
{
isDown1 = true;
offset = [document.getElementById('jsmolwindow1').offsetLeft - e1.clientX,
document.getElementById('jsmolwindow1').offsetTop - e1.clientY];
}, true);
window.addEventListener('mouseup', function() {
isDown1 = false;
}, true);
window.addEventListener('mousemove', function(event) {
if (isDown1) {
mousePosition = {
x : event.clientX,
y : event.clientY
};
document.getElementById('jsmolwindow1').style.left = (mousePosition.x + offset[0]) + 'px';
document.getElementById('jsmolwindow1').style.top = (mousePosition.y + offset[1]) + 'px';
}
}, true);
</script>
我想将此js脚本移动到外部文件以澄清我的HTML
我通过以下方式修改我的HTML代码:
<input id="move1" class="smallButtonidle" type="button" value="M" style="top: 0px; left: 0px; float: left;" onclick="move1js()"/>
并输入一个include js外部文件:
function move1js()
{
var isDown1 = false;
document.getElementById('move1').addEventListener('mousedown', function(e1)
{
isDown1 = true;
offset = [document.getElementById('jsmolwindow1').offsetLeft - e1.clientX,
document.getElementById('jsmolwindow1').offsetTop - e1.clientY];
}, true);
window.addEventListener('mouseup', function() {
isDown1 = false;
}, true);
window.addEventListener('mousemove', function(event) {
if (isDown1) {
mousePosition = {
x : event.clientX,
y : event.clientY
};
document.getElementById('jsmolwindow1').style.left = (mousePosition.x + offset[0]) + 'px';
document.getElementById('jsmolwindow1').style.top = (mousePosition.y + offset[1]) + 'px';
}
}, true);
}
这样做我的移动按钮停止工作。我不明白为什么。
有什么想法吗?
答案 0 :(得分:7)
您的解决方案的步骤是:
.js
的文件)。让我们
假设文件是moveDiv.js
<script>
&amp; </script>
代码。在HTML文件中引用此文件
<script src="moveDiv.js" type="text/javascript"></script>
这应该再次开始移动你的按钮。