JS 封装 浮动层通用类

本文介绍了一种使用JavaScript实现元素动态滑动效果的方法。通过自定义Glide类及其Start、Roll等方法,可以轻松地为网页元素添加平滑的水平或垂直滚动动画,并支持自定义方向和对齐方式。
由于没有找到JS获取当前类实例的方法,所以本类现在需要把实例的对象名传回来
如果哪位朋友有好的方法或者建议请联系我,谢谢。


function Glide()
{
    this.ID = document.getElementById(arguments[0]);//检索目标是否存在
    if(!this.ID)
    {
        alert('您要设置的"' + arguments[0] +'"初始化错误/r/n请检查标签ID设置是否正确!');
        this.ID = -1;
        return;
    }
    
    this.ObjectName="";    
    this.SpeedTime=10;    
    this.Direction = this.StarNum=this.IDDirection=0;
    
    this.PageWidth = window.screen.width;
    this.WindowHeight = window.screen.height;    
    this.PageHeight =document.documentElement.scrollHeight + this.ID.scrollHeight
    this.DiffX = document.body.scrollLeft;
    
    if(typeof arguments[1] == "string")this.ObjectName = arguments[1];    
    
}

//开始事件
Glide.prototype.Start=function()
{   
    this.Roll();
}

//检查并运算
Glide.prototype.Roll=function()
{
    if(this.HStarNum == 5)
    {
        this.All();
    }
    else if(this.Direction==0||this.Direction==1)
    {
        this.Get();       
        this.LeftRight();
    }    
    else
    {
        this.Get();        
        this.UPDown();        
    }
}

//获取
Glide.prototype.Get=function()
{
    switch(this.Direction)
    {
        case 0://左边        
            this.StarNum = document.documentElement.scrollLeft;            
            break;
        case 1://右边  
            this.StarNum = document.documentElement.scrollLeft + this.PageWidth - 20 -this.ID.offsetWidth;
            break;
        case 2://上边  
            this.StarNum = document.documentElement.scrollTop;
            break;
        case 3://下边                   
            this.StarNum = (document.documentElement.scrollTop +(document.documentElement.clientHeight)-30);       
            break;
    }
}

//上下动
Glide.prototype.UPDown=function()
{
    if(this.ID.style.top>this.PageHeight)
    {
         this.ID.style.top = (document.documentElement.scrollHeight + this.ID.scrollHeight) + "px";
    }
    else
    {
         this.ID.style.top = this.StarNum + "px";  
    }
    this.ID.style.position="absolute";  
    
    if(this.IDDirection==0)//居左
    {
        this.ID.style.left = document.documentElement.scrollLeft + "px";
    }
    else if(this.IDDirection==1)//居中
    {
        this.ID.style.left =(document.documentElement.scrollLeft + (this.PageWidth-this.ID.offsetWidth-20)/2 )+ "px";
    }
    else if(this.IDDirection==2)  //居右
    {
        this.ID.style.left =(document.documentElement.scrollLeft + (this.PageWidth-this.ID.offsetWidth-20)) + "px";
    }    
    setTimeout(this.ObjectName + '.Roll()',10);
}

//左右动
Glide.prototype.LeftRight=function()
{

    this.ID.style.left =this.StarNum;
    
    if(this.IDDirection==0)//居上
    {
        this.ID.style.top = document.documentElement.scrollTop +"px";        
    }
    else if(this.IDDirection==1)//居中
    {
        this.ID.style.top =(document.documentElement.scrollTop + (document.documentElement.clientHeight-this.ID.offsetHeight-30)/2)  + "px";
    }
    else if(this.IDDirection==2)  //居下
    {
        this.ID.style.top =(document.documentElement.scrollTop + (document.documentElement.clientHeight-30)) + "px";        
    }
      
    this.ID.style.position="absolute";  
    setTimeout(this.ObjectName + '.Roll()',10);
}



使用代码演示
       var p = new Glide("t");
       p.ObjectName="p";
       p.Direction = 0;//设置DIV所在位置 0左,1右,2上,3下
       p.IDDirection = 1;//设置DIV对齐方式 0左,1中,2右
       p.Start();
物联网通信协议测试是保障各设备间实现可靠数据交互的核心环节。在众多适用于物联网的通信协议中,MQTT(消息队列遥测传输)以其设计简洁与低能耗的优势,获得了广泛应用。为确保MQTT客户端与服务端的实现严格遵循既定标准,并具备良好的互操作性,实施系统化的测试验证至关重要。 为此,采用TTCN-3(树表结合表示法第3版)这一国际标准化测试语言构建的自动化测试框架被引入。该语言擅长表达复杂的测试逻辑与数据结构,同时保持了代码的晰度与可维护性。基于此框架开发的MQTT协议一致性验证套件,旨在自动化地检验MQTT实现是否完全符合协议规范,并验证其与Eclipse基金会及欧洲电信标准化协会(ETSI)所发布的相关标准的兼容性。这两个组织在物联网通信领域具有广泛影响力,其标准常被视为行业重要参考。 MQTT协议本身存在多个迭代版本,例如3.1、3.1.1以及功能更为丰富的5.0版。一套完备的测试工具必须能够覆盖对这些不同版本的验证,以确保基于各版本开发的设备与应用均能满足一致的质量与可靠性要求,这对于物联网生态的长期稳定运行具有基础性意义。 本资源包内包含核心测试框架文件、一份概述性介绍文档以及一份附加资源文档。这些材料共同提供了关于测试套件功能、应用方法及可能包含的扩展工具或示例的详细信息,旨在协助用户快速理解并部署该测试解决方案。 综上所述,一个基于TTCN-3的高效自动化测试框架,为执行全面、标准的MQTT协议一致性验证提供了理想的技术路径。通过此专业测试套件,开发人员能够有效确保其MQTT实现的规范符合性与系统兼容性,从而为构建稳定、安全的物联网通信环境奠定坚实基础。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值