javascript实现的元素拖动函数宿主为浏览器,javascript宿主


//宿主为浏览器  
//将相应的元素对象的引用传到函数中  
function candrag(drager) { 
  drager.onmousedown = function (down) { 
    var offx = drager.offsetLeft 
    var offy = drager.offsetTop; 
    var offxl = down.clientX - offx; 
    var offyl = down.clientY - offy; 
    window.condition = 0;//为window添加了condition属性,用于解决和click之间的矛盾  
    document.onmousemove = function (move) { 
      drager.style.left = move.clientX - offxl + "px"; 
      drager.style.top = move.clientY - offyl + "px"; 
      drager.style.cursor = "move"; 
      condition = Math.abs(move.clientX - down.clientX) + Math.abs(move.clientY - down.clientY); 
    } 
  } 
  drager.onmouseup = function () { 
    document.onmousemove = null; 
    draggerr.style.cursor = "auto"; 
  } 
} 
/*对于和click之间的矛盾解决,需要判断condition 
*例如: 
candrag(dragger); 
d01.onclick = function () { 
  if (!condition) { 
    d01.style.backgroundColor = "red"; 
  } 
} 
*其中,d01为dragger的子元素 
*/ 

为何我的javascript函数没法让浏览器跳转页面?

您是怎样调用?我分别是过这两个方法都得哦。您试试。。。
方法1:这个是通过一进入网页调用的。
<html>
<head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新建网页 1</title>
</head>
<SCRIPT language="javascript">
<!--

function ChangeQty(pn)
{

window.location.href="www.sohu.com";

window.open('www.sohu.com');

}

//--></SCRIPT>
<body onload="ChangeQty()">
</body>

</html>
——————————————————————————————

方法2:这个是通过点击来调用的。
<html>

<head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新建网页 1</title>
</head>

<body>
<SCRIPT language="javascript">
<!--

function ChangeQty(pn)
{

window.location.href="www.sohu.com";

window.open('www.sohu.com');

}

//--></SCRIPT>
<a href="#" o......余下全文>>
 

用javascript获取HTML的button元素的id后,怎使用javascript给这个元素添加响应函数

绑定事件响应并不是必须使用id,看你的描述在此之前你已经获得了这个元素?
假设要绑定的元素为btn,要绑定的事件为鼠标单击,则:
btn.onclick = function(){...}; // 直接关联事件响应btn.addEventListener('click', function(e){...}, false); // 高级浏览器支持btn.attachEvent('onclick', function(){...}); // 低版本IE支持通过如上三种方式可在btn上绑定click的事件响应,区别:第一种直接绑定,如果此前btn上有已经绑定的响应函数,则会被覆盖;后两种是注册事件响应的方式,可注册多个响应函数,彼此互不影响。
如果有使用某些框架(例如jQuery等),则可使用框架封装好的兼容性方法来注册事件响应。

 

评论关闭