Javascript实用函数

弹出层 弹出框插件 showbox 弹出层 弹出框插件 showbox 弹出层 弹出框插件 showbox 弹出层 弹出框插件 showbox 立即下载
function addBookMark(url, title){
//将网页添加到收藏addBookMark(window.location,document.title) 
    if(document.all){
      window.external.addFavorite(url,title);
    }else if (window.sidebar){
      window.sidebar.addPanel(title,url,'');
    }else{
      alert('添加失败');
    }
}   




function setHomepage(obj,url) {
// setHome(this, window.location) 
    try {   
        obj.style.behavior = 'url(#default#homepage)';   
        obj.setHomePage(url);   
    } catch (e) {   
        if (window.netscape) {   
            try {   
                netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");   
            } catch (e) {   
                alert('此操作被浏览器拒绝!\n请在浏览器地址栏输入"about:config"并回车\n然后将 [signed.applets.codebase_principal_support]的值设置为"true",双击即可。');   
            }   
            var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);   
            prefs.setCharPref('browser.startup.homepage', vrl);   
        }   
    }   
}   


function boxMove(box){
//可移动的层
    var w = box.scrollWidth,h = box.scrollHeight;
    var iWidth = document.documentElement.clientWidth; 
    var iHeight = document.documentElement.clientHeight;     
    var moveX = 0,moveY = 0,moveTop = 0,moveLeft = 0,moveable = false;
    box.onmousedown = function(e){    
    moveable = true;     
    e = window.event?window.event:e;
    moveX = e.clientX-box.offsetLeft;        
    moveY = e.clientY-box.offsetTop;
    box.style.zIndex++;
    }
    document.onmousemove = function(e){
        if(moveable){
            e = window.event?window.event:e;        
            var x = e.clientX - moveX;
            var y = e.clientY - moveY;
            if ( x > 0 &&( x + w < iWidth) && y > 0 && (y + h < iHeight)){
                box.style.left = x + "px";
                box.style.top = y + "px";
                box.style.margin = "auto";
            }
        }
    }
    document.onmouseup = function (){moveable = false;};
}


function getHtmlRoot(){
/*获得html文档的根元素*/
    if(document.compatMode.toLowerCase()=="css1compat"){
        htmlRoot = document.documentElement;
    }else{
        htmlRoot = document.body;
    }
    return htmlRoot;
}




function showWindow(boxId, closeId, showBg){//弹窗
    htmlRoot = getHtmlRoot();
    box = document.getElementById(boxId);
    boxId = '#' + boxId;
    closeId = '#' + closeId;
    showBox = $(boxId);
    showBox.show();
    z_index = 20;
    moveLeft =  (htmlRoot.clientWidth- box.clientWidth)/2 + htmlRoot.scrollLeft +'px';
    moveTop = (htmlRoot.clientHeight - box.clientHeight)/2 + htmlRoot.scrollTop;+'px';
    showBox.css({position:'absolute', left:moveLeft,zIndex:z_index, top:moveTop});


    boxMove(box);
    
    if(showBg){
        objMask = document.createElement("div");
        objMask.className = "BoxMask";
        htmlRoot.appendChild(objMask);
        objMask.style.cssText += 'position:absolute;top:0; left:0;filter:Alpha(Opacity=50);opacity:0.5;background:#AAA;';
        
        objMask.style.zIndex = z_index -1;
        objMask.style.width =  htmlRoot.clientWidth + 'px';
        objMask.style.height = htmlRoot.scrollHeight + htmlRoot.scrollTop + 'px';
    }
    
    $(closeId).click(function(){
        showBox.hide();
        mybg.style.display = "none";
    });
    $('.closeBtn').click = function(){
        showBox.hide();
        mybg.style.display = "none";    
    };


}


function getFormQuery(formId){
/*生成查询字串*/
    formObj = document.getElementById(formId);
       var i, queryString = "", and = "", itemValue;
       for(i = 0; i<formObj.length; i++ ){
             var item = formObj[i];
              if ( item.name!='' ){
                     if(item.type == 'select-one'){
                         itemValue = item.options[item.selectedIndex].value;
                     }else if ( item.type=='checkbox' || item.type=='radio'){
                         if ( item.checked == false ){ continue; }
                         itemValue = item.value;
                     }else if ( item.type == 'button' || item.type == 'submit' || item.type == 'reset' || item.type == 'image'){
                         continue;
                     }else{
                          itemValue = item.value;
                     }
                   //  itemValue = escape(itemValue);
                     queryString += and + item.name + '=' + itemValue;
                     and="&";
                   //queryString += and + encodeURIComponent(item.name) + '=' +encodeURIComponent( itemValue); 
              }
       }
       return queryString;
}


//定义js错误处理函数
onerror = errHandle;
function errHandle(msg,url,line){
    var txt=""
    txt = "本页中有错误!\n\n"
    txt += "错误: "+ msg +"\n"
    txt += "地址: " + url + "\n"
    txt += "行数: " + line + "\n\n"
    alert(txt);
    return false;
}




function setAutoWidth(id,width,size){
//最小或最大宽度
    var obj = document.getElementById(id);
    if(size=='max'){
        obj.style.width = (obj.clientWidth > width) ? width + "px" : "auto";
    }else{
        obj.style.width = (obj.clientWidth < width) ? width + "px" : "auto";
    }
}


function fontScroll(id){
/*向左滚动的文字 */
    var obj = document.getElementById(id);
    var text = obj.innerHTML;
    var first = text.charAt(0);
    var left = text.substring(1, text.length);
    obj.inerHTML = left + first;
    //这个写函数之外 setInterval('fontScroll(id)', 500);
}


function bubbleSort(arr){
/*冒泡排序法*/
var sign = false // 初始化换位标记为假
for(var i=0; i < arr.length-1; i++){
    for(varj=0; j < arr.length-1-i; j++){
        if(arr[j]> arr[j+1]){
            vartemp = arr[j]
            arr[j]= arr[j+1]
            arr[j+1]= temp
            sign= true // 若当前这一圈比较中,有过换位,则置换位标记为真
        }
    }
    if(sign)// 判断当前这一圈有过换位否…
       sign= false // 有过换位,则重置换位标记为假
    else
       break// 没有,则终止
    }
return arr;
}


function getCoordinate(evt){
/*获得光标的坐标*/
    var x = evt.clientX;
    var y = evt.clientY;
    document.getElementById('show').innerHTML = x +' &' + y;
}






function checkEmail(email){
/*检测多个以分号(;)分隔的Email格式*/
if(email != null){
    if(email.indexOf(";",0) == -1){ //indexOf(被查找,起始位)返某个字符串在源字符串中首次出现的位置,失败返回-1
        if(!isEmail(email)){
            alert("单个邮件格式有误,请重输!");
            document.getElementById("email").focus();
            return false;
        }
    }else{
        var emailArr = email.split(";");//split(分隔段,数组总长度)字符串分割成字符串数组
        var i, iMax = emailArr.length;
        for(i = 0; i < iMax; i++){
            if(emailArr[i] != null || emailArr != ""){
                if(!isEmail(emailArr[i])){
                    alert("多个邮箱格式中有邮箱格式不正确,请重新核对后再输入!");    
                    document.getElementById("email").focus();
                    return false;
                }
            }
        }
    }    
}
function isEmail(str){
   var reg = /^(\w)+(\.\w+)*@(\w)+((\.\w+)+)$/;
   return reg.test(str);//test(被测字串)检测一个字符串是否匹配某个模式.
}
}
RIGOL DS1102E示波器新手必看:从开机到捕获第一个波形的5分钟指南 本文为RIGOL DS1102E示波器新手提供了一份快速上手指南。内容涵盖从开机、探头校准到捕获第一个波形的完整流程,重点解析了触发设置、自动测量等核心操作,并指出了探头衰减比设置等常见误区,帮助用户快速掌握这款经典数字示波器的基本使用方法。 阅读详情

相关推荐

移动机器人底盘-四轮差速模型(四轮独立)

对于底盘的前轮和后轮来说,其速度是同步的,那么在理想条件下,可以将底盘运动视为以ICR为圆心做圆周运动,对于四个轮子来说,圆周运动的角速度是一致的,圆周运动圆心ICR始终位于底盘几何中心COG的y轴延长线上,ICR与COG之间的距离。有关,整个底盘的速度位于速度瞬心COM处,用。四轮差速底盘设定左轮、右轮得速度分别为。圆周运动的角速度公式如式1所示。受约束,约束与圆周运动的角速度。合成,设四个轮子的速度分别为。,设左轮和右轮之间的轴距为。为圆周运动角速度,线速度为。,其均由预设目标速度。

Moresweet 猫甜 1万+

jQuery制作弹出窗(模态框)

来源:(二少)在南极 ##index.html <!DOCTYPE html><html lang="zh"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <met...

2801

JWT实战:5分钟搞定Spring Boot集成JWT认证(含完整代码示例)

本文详细介绍了如何在Spring Boot中快速集成JWT认证,提供完整的代码示例和配置指南。通过JWT实现无状态认证,解决分布式系统中的会话管理问题,提升系统扩展性和安全性。涵盖令牌生成、验证、Spring Security整合及生产级优化方案。

weixin_29327525的博客 456

Js的MessageBox效果代码(转)

看到论坛上有人模仿alert,自己也写了一个。本来想模仿winapi里的MessageBox 但可惜js 不支持,阻塞模式。 返回值只能用异步了。 支持FF、ie、opera。 DOCTYPE 可以申明,也可以不申明。 存在问题:  在opera 里图层不能透明  对于页面内有iframe的也无法使用 在ie里无法遮住select的 MessageBox演示

dragoo1的专栏 7241

Windows批处理脚本实战:用Ping命令打造简易网络监控工具(附完整代码)

本文介绍如何利用Windows批处理脚本和Ping命令,快速构建一个轻量级、自动化的网络监控工具。该方案无需额外安装软件,通过周期性探测目标IP连通性,并将结果(成功、失败及延迟)自动记录到带时间戳的日志文件中,适合中小团队或临时监控需求,实现低成本、高效率的网络状态监控。

5f4d3s2a1q的博客 494

Windows 11下manage-bde命令实战:BitLocker锁了别慌,手把手教你用命令行找回数据

本文详细介绍了在Windows 11系统下使用manage-bde命令解锁BitLocker加密驱动器的实战方法。通过命令行诊断、恢复密钥获取、解锁流程演示及高级故障排除,帮助用户在系统锁定后快速找回数据,特别适合IT技术人员和遇到紧急情况的用户。

weixin_30902251的博客 329

前端js实现点击文字弹出小框

效果图: 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> div { width: 400px; ...

SoWhatWorld的博客 2615

Dify基础:Dify平台的本地化部署(含windows部署中,常见问题及解决方案)

第一种比较简单,只需要在浏览器中,打入https://dify.ai/就可以。这个指令虽然看起来简单,但实际上涉及到对docker的使用。这个项目既然有github地址,那它一般就是开源的。我们点开这个github地址,便能看到dify的私有化部署方式。我们可以看到,还是上面那个图,有个按钮,是指向该项目的Github地址的。第二步:按照dify的github给出的指令,对dify进行安装。第一步:我们把dify下载到自己的电脑(或者服务器)上。这里,我们只考虑第二种方式,也就是私有化部署。

xiezhipu的博客 1万+

javascript展开与收起效果

简单的做了一个显示与隐藏的效果,当然有一些坑点。 比如喜欢上了在标签内部绑定DOM事件,而不是在javascript内绑定事件。 好处是只需要写好函数就可以绑定引用了; 在修改css样式时,正确代码应该是: document.getElementById("hidbox").style.display="block";我的代码是: document.getElementById("hid

fordouble的博客 2571

基于Simulink的PR(比例谐振)控制器在单相整流中的应用

本文详细介绍了基于Simulink的单相整流系统中PR(比例谐振)控制器的设计与实现方法。首先阐述了PR控制器相较于传统PI控制器的优势,能够有效消除交流信号跟踪中的稳态误差。接着系统讲解了PR控制器的传递函数原理、实用型设计(带带宽)及参数整定方法。通过Simulink建模步骤,包括主功率电路搭建、电压外环PI设计、电流指令生成、PR控制器实现(推荐MATLAB Function方法)和SPWM调制等关键环节。仿真对比显示PR控制在电流跟踪精度(THD仅1.9%)、功率因数(0.998)和动态响应(突变恢

amy_mhd的博客 690

杰理SDK入门教程(六):自定义按键事件

这篇教程介绍了在杰理AC695N芯片上实现自定义按键功能的完整流程,包含三个核心步骤:首先在key_event_deal.h文件中添加按键枚举定义;然后在adkey_table.c配置按键映射表,按模式和行为类型设置按键值;最后在app_common.c的消息处理函数中添加自定义按键逻辑。教程强调需注意不同模式按键表的列定义差异,并提供了具体代码示例,最后指导完成编译测试验证。全文结构清晰,配有关键代码截图,适合开发者快速上手自定义按键功能开发。

qq_42014563的博客 1017

Pareto.js:超轻量级的JavaScript实用函数库

Pareto.js:超轻量级的JavaScript实用函数库 Pareto.js是一个精巧、直观且高效的JavaScript功能性工具库,它只包含14个核心函数,专注于提供最基础但实用的功能。这个库以纯函数为主,鼓励不可变数据处理,并且其大小甚至小于流行的lodash库。 技术分析 小巧玲珑:Pareto.js非常小,未压缩版本只有几KB,经过gzip压缩后更是微乎其微。 TypeScript...

gitblog_00015的博客 538

103:vue+cesium 设置球体水部分颜色为黄色

本示例在 Vue + cesium 项目中设置球体水部分颜色为黄色。这里的操作是将球体内部设置为空的,在地球内部添加一个黄色的圆球,这样水的部分就被突出出来了。直接复制下面的 vue+cesium源代码,操作2分钟即可运行实现效果.

大剑师兰特的GIS世界 625

JavaScript实用库---Underscore.js 的集合中的一些函数

       Underscore一个JavaScript实用库,提供了一整套函数式编程的实用功能,但是没有扩展任何JavaScript内置对象。它是这个问题的答案:“如果我在一个空白的HTML页面前坐下, 并希望立即开始工作, 我需要什么?“...它弥补了部分jQuery没有实现的功能,同时又是Backbone.js必不可少的部分。                   Underscor...

PXM706120的博客 249

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

7 个常用的 JavaScript 实用程序函数

7 个常用的 JavaScript 实用程序函数

L_yvpeng的博客 434

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

javascript冷门吗_d3.js中冷门却实用的内置函数总结

前言其实在d3.js的API文档中,提供了很多内置的函数,但是有些很有用的内置函数却被无情的忽略了,这篇博客就来整理整理这些被遗忘却很实用的函数。希望整理过后,他们不再被遗忘。selection.classed(name,【value】)value参数可选,如果没有指定,则返回与name参数匹配的第一个非空元素是否绑定了指定的CSS类,true表示绑定,false表示未绑定。如果value指定了的...

weixin_35933582的博客 199

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

TDengine 3.3.6.9 版本技术解析:功能增强、连接器生态与关键问题修复

本指南基于 TDengine 开源仓库 [3.3.6.9 Release Notes](https://link.gitcode.com/i/f873732cb38d5771153cd79e41411486),系统梳理该版本(发布日 2025-06-03)新增的三大特性、九项增强与十六项修复。读者将掌握该版本在 OPC 数据接入、Spark/SSRS 生态对接、数据订阅与流式计算、stmt2 写入

gitblog_00678的博客 404

Js实用函数合集

随机数生成器 Math.random() 转换为整数 parseInt() 日期时间函数(需要用变量调用): var b = new Date(); //获取当前时间 b.getTime() //获取时间戳 b.getFullYear() //获取年份 b.getMonth()+1; //获取月份 b.getDate() //获取天 b.getHours() //获取小时 b.getMinutes() //获取分钟 b.getSeconds() //获取秒数 b.getDay() //获取星期几 b.get

白大锅的博客,毕设WangLoveBai_999 10万+

10 个在 JavaScript 中处理对象的实用函数

英文 | https://medium.com/dailyjs/10-utility-functions-for-working-with-objects-in-javascript-a5...

web前端开发 566

JavaScript实用工具函数总结

本文整理了17个实用的JavaScript函数,涵盖数据类型校验、防抖节流、字符串处理、DOM操作等常见场景。包括类型判断(typeOf)、防抖(debounce)、节流(throttle)函数,手机号脱敏(hideMobile)、金额格式化(moneyFormat)等数据处理方法,以及全屏操作、滚动控制、文件下载等浏览器API封装。此外还提供了深拷贝(clone)、模糊搜索(fuzzyQuery)、树形结构遍历(foreachTree)等算法实现,最后包含本地存储封装(MyCache)和URL参数解析工具

油墨香^-^的博客 621

JavaScript/js高手进阶必备神器 --- Underscore.js 实用库(js超好用工具库,js函数式编程工具库)

Underscore一个JavaScript实用库,提供了一整套函数式编程的实用功能,但是没有扩展任何javascript内置对象。它是这个问题的答案:“如果我在一个空白的HTML页面前坐下, 并希望立即开始工作, 我需要什么?“...它弥补了部分jQuery没有实现的功能,同时又是Backbone.js必不可少的部分。  js超好用工具库,js函数式编程工具库。Underscore提供了100多个函数,包括常用的: map, filter, invoke — 当然还有更多专业的辅助函数,如:函数绑定, J

有范管理美学 | 公众号/头条号:有范管理美学 2501

JavaScript 一些实用函数的抽象

@[First]`2019 - 11 - 2 在这里插入代码片 `(这里写自定义目录标题) 阅读JS DOM 编程艺术(2)的些许感悟 这本书虽然已经过去好多年了, 但我发现其中的思想真的很棒, 包括渐进增强, 平稳退化, 函数抽象等 . 收益良多, 特此记录, 方便学习和查找. 函数抽象 抽象:把一个非常具体的东西改进为一个较为通用的东西的过程. ## 下面记录一些JS的实用函数: 1. 在...

lzgy的博客 519

JavaScript 实用函数大全(超实用)

JavaScript实用工具函数集锦 本文整理了一系列实用的JavaScript工具函数,主要包含: 类型判断:包括基本类型、结构类型、特殊对象和DOM环境判断 数字处理:随机数生成、格式化、范围判断、进制转换等 数组操作:去重(支持简单值和对象数组)、扁平化处理、频率统计等 这些函数覆盖了常见开发场景,如: 精确的类型检测(如区分对象与数组) 数字格式化(千分位、百分比) 数组深度扁平化和基于key的去重 随机数生成(整数/浮点数)和范围控制 代码简洁高效,可直接用于项目中,提升开发效率。

muqin6610的博客 973

JavaScript函数作用域与对象以及实用技巧

1. JS作用域 1.1 全局作用域和局部作用域 函数外面声明的就是 全局作用域 函数内是局部作用域 全局变量可以直接在函数内修改和使用 变量,使用var是声明,没有var是使用变量。 如果在函数内使用var来声明变量,在函数内会覆盖同名的全局变量 <!DOCTYPE html> <html lang="en...

a9794666的博客 163

56个JavaScript 实用工具函数助你提升开发效率(JS函数大全)

1. 数字操作 (1)生成指定范围随机数 export const randomNum = (min, max) => Math.floor(Math.random() * (max - min + 1)) + min; (2)数字千分位分隔 export const format = (n) => { let num = n.toString(); let len = num.length; if (len <= 3) { return num;

PUBGA的博客 385

7 个我最常用的 JavaScript 实用程序函数

英文 | https://javascript.plainenglish.io/my-7-most-used-javascript-utility-functions-86afd61ad76cJavaScript 实用程序函数是有用的、可重用的片段,你可以在许多不同的项目中重用它们。它们的目的是为常见任务提供一致且有效的答案,并帮助提高代码的一致性。在本文中,我想重点介绍我在许多项目中使用的 7 ...

web前端开发 148
上一篇: Javascript事件代理
下一篇: 我们都曾经历过:生活教会我的8堂人生课
抱猫睡觉的鱼
博客等级 码龄18年 10粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值