Javascript DOM 编程艺术 Chap10 动画效果 实用动画

"博主分享了一次查找代码错误的经历,一个小括号的差异导致 preview.style.left="0px;" 未能正确执行,浪费了大量时间。函数中涉及DOM操作和mouseover动画,具体展示了如何定位并修复这个问题。"
摘要由CSDN通过智能技术生成

问题:

因为把  preview.style.left = "0px"; 写成了  preview.style.left = "0px;" 找了一个多小时的错误…… 

function prepareSlideshow(){

// make sure the browser support DOM
  if(!document.getElementsByTagName) return false;
  if(!document.getElementById) return false;

  // make sure the elements exist
  if(!document.getElementById("linklist")) return false;
  if(!document.getElementById("preview")) return false;

  // set image
  var preview = document.getElementById("preview");
  preview.style.position = "absolute";
  preview.style.left = "0px";
  preview.style.top = "0px";

  //
  // get all the links in linklist
  var list = document.getElementById("linklist");
  var links = list.getElementsByTagName("a");

  // mouseover animation

  links[0].onmouseover = function(){
    moveElement("preview",-100,0,10);
  }
  links[1].onmouseover = function(){
    moveElement("preview",-200,0,10);
  }
  links[2].onmouseover = function(){
    moveElement("preview",-300,0,10);
  }

}
function moveElement(ElmentId,final_x,final_y,interval){
  var elem = document.getElementById(ElmentId);
  var xpos = parseInt(elem.style.left);
  var ypos = parseInt(elem.style.top);

  if(xpos == final_x && ypos == final_y){
    return true;
  }
  if(xpos < final_x){
    xpos++;
  }
  if(xpos > final_x){
    xpos--;
  }
  if(ypos < final_y){
    ypos++;
  }
  if(ypos > final_y){
    ypos--;
  }

  elem.style.left = xpos +"px";
  elem.style.top = ypos + "px";

  var repeat = "moveElement('"+ElmentId+"',"+final_x+","+final_y+","+interval+")"
  movement = setTimeout(repeat,interval);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CHAP(Challenge-Handshake Authentication Protocol)挑战-回应式身份验证协议是一种常用的身份验证协议,常用于计算机网络中的远程访问。基于openssl库编程实现CHAP应答涉及以下步骤: 1. 导入openssl库:在编程环境中,首先需要导入openssl库,以便使用其中的加密和哈希算法功能。 2. 接收挑战信息:从网络或其他通信渠道接收CHAP挑战信息。挑战信息通常包括用户名、挑战字节序列和预共享密钥等。 3. 生成应答:使用openssl库中的加密和哈希函数,将挑战信息与预共享密钥进行处理生成应答。具体操作包括: a. 使用用户名和预共享密钥在openssl库中计算出一个MD5散列摘要,作为一个32字节的值。 b. 将挑战字节序列附加在MD5摘要的末尾,形成一个新的数据序列。 c. 再次使用用户名和预共享密钥计算新数据序列的MD5摘要,作为最终的应答。 4. 发送应答:将生成的应答信息发送给发起方,以完成身份验证过程。 在基于openssl库进行CHAP应答编程时,需要注意以下事项: - 确保openssl库已正确安装并在编程环境中正确导入。 - 对用户名和预共享密钥进行适当的存储和管理,以保证安全性。 - 根据标准CHAP协议,应答的生成方法可能会有一些特定的要求和约定,需要根据具体情况进行适配。 基于openssl库编程实现CHAP应答,可以有效地提高网络通信的安全性,防止身份伪造和数据泄露的风险。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值