原生JS实现JQuery的$.ajax()方法
记录一下,方便以后ctrl+cv大法/***封装ajax请求*@param{*}obj请求参数*/functionajax(obj){//指定请求方式默认get请求obj.type=obj.type||"get";//设置是否异步,默认为trueobj.async=obj.async||true;//设置数据的默认值obj.data=obj.data||null;if(window.XMLHttpRequest)varajax=newXMLHttpRequest();//非ieelsevarajax=newActiveXObject("Microsoft.XMLHTTP");//ie//将对象转为url参数if(obj.data){vardata=""Object.keys(obj.data).forEach(function(key){data+="&"+key+"="+obj.data[key]});data=...
原生JS实现JQuery的$.getScript()方法
在很多情况下,我们需要使用JQuery库里的$.getScript()方法,载入js后执行指定js方法有时候是不需要直接用<scriptsrc="/js/xxxx.js"></script>全部引入js的这样会影响页面的加载速度(因为页面加载完成后有些功能是不需要立刻执行的,而是用户点击、滚动、等其它行为时再加载相应的js文件),间接的实现js懒加载如果只是仅仅使用这个方法的话,则需要引入JQuery库(未压缩:250kb、压缩:90kb)这没必要引入JQuery来使用$.getScript()方法,这个完全是可以使用原生js实现的,$.getScript()这个方法是简写的Ajax函数$.ajax({url:url,dataType:"script",success:success});废话不多说直接上代码使用动态创建script标签的办法来实现动态加载(也可以使用ajax请求(原生))优点:可跨域/***动态添加JavaScript*@param{*}url资源地址*@pa...
使用Css实现与JavaScript相同的丝滑锚点滚动效果
曾经我认为网站的锚点滚动效果都是使用Javscript实现的,如果不用js实现的话就是一瞬间就跳转到了,用户体验较差看了大部分网站都是用js实现的,直到我写了Hexo的Hexo-MengD(萌典)主题后了解到了很多前端更深层的一些知识,我才知道原来这种效果可以使用css实现,甚至只需要一行即可实现,而如果使用的是js实现的话,少则50行代码、多则100+行代码现在就只需要一行css就能实现,而且css的效率是完全吊打js的html{scroll-behavior:smooth;}就给html标签添加一个css属性样式就可以了,没了(是不是很震惊?)
Vercel部署Typecho动态博客
Vercel部署Typecho动态博客,可以免费部署Typecho博客,零成本即可搭建Typecho博客,Vercel支持运行PHP环境,Vercel部署WordPress博客
JavaScript中的insertAdjacentHTML()方法
insertAdjacentHTML()原生js的追加html内容的方法,让你告别Jquery库insertAdjacentHTML()不会重新解析它正在操作的元素,因此它不会破坏元素内现有的元素。这避免了额外的序列化步骤,性能上比直接innerHTML操作更快。insertAdjacentHTML()是插入HTML内容,而innerHTML是替换语法:element.insertAdjacentHTML(position,text);例如:<div></div>==elementbeforeBegin:在element元素的之前(<div>之前)afterBegin:在element元素的第一个子节点之前(<div>之后)beforeEnd:在element元素的最后一个子节点之后(</div>之前)afterEnd:在element元素的之后(</div>之后)beforeBegin/*页面<divid="div"><span>原内容</span>&...