首页 文章 精选 留言 我的

精选列表

搜索[原生统一],共10000篇文章
优秀的个人博客,低调大师

原生javascript中的的AJAX写法

js中ajax get请求的写法 var xhr=new XMLHttpRequest(); xhr.open('get','请求地址') xhr.send(); xhr.onreadystatechange=function () { if (xhr.readyState==4) { // console.log(xhr.responeText } } js中post请求的写法 var xhr = new XMLHttpRequest(); xhr.open('post',"请求地址",true); // 如果是post请求 必须加上请求头 xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xhr.send("userName="+user.value+'&passWord='+pass.value); xhr.onreadystatechange =function(){ if (xhr.readyState==4) { var obj = JSON.parse(xhr.responseText); console.log(obj.responseCode); if (obj.responseCode=="0") { window.location.href = "denglu.html" } } }

优秀的个人博客,低调大师

javascript原生代码实现页面查找功能

由于是需在多框架页面中进行搜索,所以先从搜索顺序从左—右。 <input type="button" value="搜 索" onclick="findText(txtFind.value)" style="width:70px;height:28px;font-weight: bold;"> <script language="javascript"> var rng=""; var iframe_next=""; var frame_target=window.parent.document.frames.left_iframe; //默认先搜索左框架 function findText(str){ try{ if(str==""){ alert("请输入搜索的关键字"); return; } if(rng.findText(str)){ //若找到,则反白关键字 rng.select(); rng.collapse(false); //迫使开始点移动第一个匹配的范围的结束点 }else{ //否则判断左右框架搜索跳转 if (iframe_next=="right"){ //若当前为右框架,则弹出完成对话框并准备下一步搜索左框架 alert("搜索完毕"); iframe_next="left"; frame_target=window.parent.document.frames.left_iframe; rng = frame_target.document.body.createTextRange(); }else{ //若当前为左框架,则下一步搜索右框架 iframe_next="right" frame_target=window.parent.document.frames.right_iframe; rng = frame_target.document.body.createTextRange(); findText(str); } } } catch(err){ //由于搜索框放在页面顶部,所以第一次createTextRange会出错,catch里赋值即可。 rng=window.parent.document.frames.left_iframe.document.body.createTextRange(); findText(str); } } </script> 参考资源: javascript moveStart和moveEnd方法(TextRange对象--查找与选择)http://hi.baidu.com/mascotdai/blog/item/2538030e979e56c27bcbe1f5.html 用javascript获得参数/编辑SELECT/设置光标位置/页内查找http://hi.baidu.com/jhfcjl/blog/item/4ceaafec7cadcf4878f05587.html

优秀的个人博客,低调大师

RN 调用ios原生报线程错误

同事的iphone 5s 系统为 10.3版本 会出现闪退 报错原因如下: accessing _cachedSystemAnimationFence requires the main thread' was thrown while invoking start on target tongdun with params ( ) 导致闪退 。。。 这个错误应该是调用的时候占中线程,引起的 bug,把引起的蹦会的部分,放到主线程就好了 dispatch_async(dispatch_get_main_queue(), ^{ }; // 弹出活体检测算法界面 dispatch_async(dispatch_get_main_queue(), ^{ [mainViewController presentViewController:livenessDetectionViewController animated:YES completion:^{ // 以下样例代码展示了如何初始化活体检测 NSError *error; BOOL isSuccess; isSuccess = [livenessDetectionViewController setConfigLivenessDetection: weakSelf withError: &error]; NSLog(@"活体检测算法初始化结果: %@", (isSuccess ? @"成功" : @"失败")); }]; });

优秀的个人博客,低调大师

Python3好用的原生api

读取特定目录下所有的文件夹, 和文件名os.walk() os.walk("./")是我最喜欢的api之一, 作用是获取某个路径下,所有的文件夹和文件的路径, 如果你是一个喜欢写脚本的人, 那这个api或许能帮你更优雅的实现你的程序~ import os for relative_file_dir_path, file_dir_name, file_name in os.walk('./'): print("当前文件夹路径(字符串)", relative_file_dir_path) print("当前文件夹目录下包含的文件夹(数组)", file_dir_name) print("当前文件夹目录下包含的文件名(数组)", file_name) print("---"*10) 这个操作非常适合编写文件处理脚本, 比如你想将某个目录下的markdown文件批量转换为word文档, 参考Python将md批量转为docx, 或者将less批量转换为css, 参考批量转换less至css, 配合其他优秀的库, 你可以完成一些好玩的操作, 比如 网站图片素材中文转英文 深拷贝 相比js蛋疼的深拷贝操作, python的深拷贝简单粗暴 copy_name = deepcopy(name) from copy import deepcopy name = ["z", "h", "a", "o", "o", "l", "e", "e"] copy_name = deepcopy(name) copy_name[0] = "Z" print("原列表", name); print("新列表", copy_name) 一个优秀的api就应该简洁强大, 见名知意, 反向对比js的深拷贝, js的深拷贝简直就是一门学问, 而且几乎是面试必问, 当然深入研究一下也并非不好, 但如果开发者精力有限, 优秀的api可以极大提升我们的工作效率 随机取字符串(点名利器) 如果你想写一个点名的小程序, python一行代码就能搞定~ import random for i in range(10): group = random.choice(["白月初", "东方月初", "苏苏", "红红", "王富贵", "清瞳"]) print("第", i,"周", group, "打扫教室...") 反向切片 python的切片操作可谓是优雅强大, 通过反向切片, 你可以迅速获得一个列表的反向序列 对列表进行反序是一个很常见的操作, 但python反向切片的玩法实在是非常简洁, 让人无法拒绝, 其实对某一数据结构进行"反向"是一个很有意思的操作, 比如对二叉树进行反序 明星程序员被Google挂掉的故事, 还有google著名的 在不使用额外空间的前提下, 对句子内的单词进行反序的问题, 比如将 This is a pen 反向为 pen a is This 小结 Python为我们提供了大量好用的api, 可以让我们的需求快速得到实现, 极大提升我们的开发效率, 但很多问题, 并不是用几个简单api就能搞定的, 比如前面提到的google的在不使用额外空间的情况下, 将This is a pen 反向为 pen a is This, 这个题目的解法非常巧妙, 首先将This is a pen 转换为nep a si sihT, 然后根据空格所处的位置, 将单个的单词自身的序列进行调换, 这样就可以将, nep a si sihT转换为pen a is This 优秀的算法能让我们以更少的资源的实现程序, 优秀的api能提升我们的开发效率, 或许优秀的工程师, 就是在二者之间把握平衡的那类人吧~

优秀的个人博客,低调大师

如何用原生JS写Tab切换

1. 基本思路 ① 遍历Tab选项 ② 然后给每个Tab选项绑定点击事件 ③ 每次点击时清除所有Tab选项及Tab选项内容的样式,然后给当前Tab选项添加标记样式,给当前Tab选项添加显示样式 2. 具体代码实现 <!--HTML--> <div id="tab"> <!--Tab选项--> <div class="tab-nav"> <a href="javascript:;" class="cur">选项1</a> <a href="javascript:;">选项2</a> <a href="javascript:;">选项3</a> </div> <!--Tab选项内容--> <div class="tab-content"> <div class="content content1 cur">选项内容1</div> <div class="content content2">选项内容2</div> <div class="content content3">选项内容3</div> </div> </div> /*CSS*/ #tab{ width: 300px; margin: 30px auto;} .tab-nav{ display: flex;} .tab-nav a{ flex: 1; line-height: 40px; border: 1px solid #000; text-align: center; text-decoration: none; color: #000;} .tab-nav a.cur{ color: #fff; background: #000;} .content{ display: none; width: 100%; height: 300px; color: #fff; box-sizing: border-box; padding: 10px;} .content.cur{ display: block;} .content1{ background: #f00; } .content2{ background: #0f0;} .content3{ background: #00f;} //Javascript window.onload = function () { var oTab = document.getElementById('tab'); var aTabNav = oTab.querySelectorAll('.tab-nav a'); var aTabContent = oTab.querySelectorAll('.tab-content .content'); for(var i = 0; i < aTabNav.length; i++){ // 遍历Tab选项 aTabNav[i].onclick = (function (i) { // Tab选项绑定点击事件 return function () { // 清除所有Tab选项的标记样式 for(var j = 0; j < aTabNav.length; j++){ aTabNav[j].classList.remove('cur'); } aTabNav[i].classList.add('cur'); // 清除所有Tab选项内容的显示样式 for(j = 0; j < aTabContent.length; j++){ aTabContent[j].classList.remove('cur'); } aTabContent[i].classList.add('cur'); } })(i); } }; 以上JS还可以继续优化,将相同功能的代码封装成函数: window.onload = function () { var oTab = document.getElementById('tab'); var aTabNav = oTab.querySelectorAll('.tab-nav a'); var aTabContent = oTab.querySelectorAll('.tab-content .content'); for(var i = 0; i < aTabNav.length; i++){ aTabNav[i].onclick = (function (i) { return function () { addCurClass(aTabNav,i); addCurClass(aTabContent,i); } })(i); } }; function addCurClass(obj,index) { for(var i = 0; i < obj.length; i++){ obj[i].classList.remove('cur'); } obj[index].classList.add('cur'); } 代码没有什么难度,非常基础,但是需要注意的一点是,在获取当前点击项的索引时,我们需要使用到闭包。 相关推荐 教你两招用纯CSS写Tab切换纯CSS制作单页Web应用使用hash制作单页Web应用

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册