当前位置: 首页 > news >正文

游戏 网站模板服装外贸erp

游戏 网站模板,服装外贸erp,广州网站建设方案维护,如何制作个人网站1.如何隐藏所有指定的元素 const hide (el) Array.from(el).forEach(e (e.style.display none)); // 事例: 隐藏页面上所有p元素 hide(document.querySelectorALL(p))2.如何检查元素是否具有指定的类#xff1f; 页面DOM里面的每个节点上都有一个 $\colo…1.如何隐藏所有指定的元素 const hide (el) Array.from(el).forEach(e (e.style.display none)); // 事例: 隐藏页面上所有p元素 hide(document.querySelectorALL(p))2.如何检查元素是否具有指定的类 页面DOM里面的每个节点上都有一个 $\color{#FF0000}{classList}$对象程序员可以使用里面的方法新增、删除、修改、查询节点上的class类。 const hasClass (el, className) el.classList.contains(className)// 事例 hasClass(document.querySelector(p.special), spec) // true 3.如何切换一个元素的类? const toggleClass (el, className) el.classList.toggle(className)// 事例 移除 p 具有类special的 speci 类 toggleClass(document.querySelector(p.special), speci) 4.如何获取当前页面的滚动位置 const getScrollPosition (el window) ({x: el.pageXOffset ! undefined ? el.pageXOffset : el.scrollLeft,y: el.pageYOffset ! undefined ? el.pageYOffset : el.scrollTop });// 事例 getScrollPosition(); // {x: 0, y: 200} 5.如何平滑滚动到页面顶部 const scrollToTop () {const c document.documentElement.scrollTop || document.body.scrollTop;if (c 0) {window.requestAnimationFrame(scrollToTop);window.scrollTo(0, c - c / 8);} }// 事例 scrollToTop()$\color{#FF0000}{window.requestAnimationFrame()}$ 告诉浏览器——你希望执行一个动画并且要求浏览器在下次重绘之前调用指定的回调函数更新动画。该方法需要传入一个回调函数作为参数该回调函数会在浏览器下一次重绘之前执行。$\color{#FF0000}{requestAnimationFrame:}$ 优势由系统决定回调函数的执行时机。60Hz的刷新频率那么每次刷新的间隔中会执行一次回调函数不会引起丢帧不会卡顿。 6.如何检查父元素是否包含子元素 const elementContains (parent, child) parent ! child parent.contains(child);// 事例 elementContains(document.querySelector(head), document.querySelector(title)); // true elementContains(document.querySelector(body), document.querySelector(body)); // false7.如何检查指定的元素在视口中是否可见 const elementIsVisibleInViewport (el, partiallyVisible false) {const { top, left, bottom, right } el.getBoundingClientRect();const { innerHeight, innerWidth } window;return partiallyVisible? ((top 0 top innerHeight) || (bottom 0 bottom innerHeight)) ((left 0 left innerWidth) || (right 0 right innerWidth)): top 0 left 0 bottom innerHeight right innerWidth; };// 事例 elementIsVisibleInViewport(el); // 需要左右可见 elementIsVisibleInViewport(el, true); // 需要全屏(上下左右)可以见8.如何获取元素中的所有图像 const getImages (el, includeDuplicates false) {const images [...el.getElementsByTagName(img)].map(img img.getAttribute(src));return includeDuplicates ? images : [...new Set(images)]; };// 事例includeDuplicates 为 true 表示需要排除重复元素 getImages(document, true); // [image1.jpg, image2.png, image1.png, ...] getImages(document, false); // [image1.jpg, image2.png, ...] 9.如何确定设备是移动设备还是台式机/笔记本电脑 const detectDeviceType () /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)? Mobile: Desktop;// 事例 detectDeviceType(); // Mobile 移动设备 or Desktop 台式机10.如何创建一个包含当前URL参数的对象 const getURLParameters url (url.match(/([^?])(([^]*))/g) || []).reduce((a, v) ((a[v.slice(0, v.indexOf())] v.slice(v.indexOf() 1)), a),{});// 事例 getURLParameters(http://url.com/page?nAdamsSmith); // {n: Adam, s: Smith} getURLParameters(google.com); // {}11.如何将一组表单元素转化为对象 const formToObject form Array.from(new FormData(form)).reduce((acc, [key, value]) ({...acc,[key]: value}),{});// 事例 formToObject(document.querySelector(#form)); // { email: testemail.com, name: Test Name }12.如何从对象检索给定选择器指示的一组属性 const get (from, ...selectors) [...selectors].map(s s.replace(/\[([^\[\]]*)\]/g, .$1.).split(.).filter(t t ! ).reduce((prev, cur) prev prev[cur], from)); const obj { selector: { to: { val: val to select } }, target: [1, 2, { a: test }] };// Example get(obj, selector.to.val, target[0], target[2].a); // [val to select, 1, test]13.如何在等待指定时间后调用提供的函数 const delay (fn, wait, ...args) setTimeout(fn, wait, ...args); delay(function(text) {console.log(text);},1000,later ); // 1秒后打印 later14.如何在给定元素上触发特定事件且能选择地传递自定义数据 const triggerEvent (el, eventType, detail) el.dispatchEvent(new CustomEvent(eventType, { detail }));// 事例 triggerEvent(document.getElementById(myId), click); triggerEvent(document.getElementById(myId), click, { username: bob });自定义事件的函数有$\color{#FF0000}{Event}$ 、$\color{#FF0000}{CustomEvent}$ 和 $\color{#FF0000}{dispatchEvent}$ // 向 window派发一个resize内置事件 window.dispatchEvent(new Event(resize))// 直接自定义事件使用 Event 构造函数 var event new Event(build); var elem document.querySelector(#id) // 监听事件 elem.addEventListener(build, function (e) { ... }, false); // 触发事件. elem.dispatchEvent(event);$\color{#FF0000}{CustomEvent}$ 可以创建一个更高度自定义事件还可以附带一些数据具体用法如下 var myEvent new CustomEvent(eventname, options); 其中 options 可以是 {detail: {...},bubbles: true, //是否冒泡cancelable: false //是否取消默认事件 }其中 $\color{#FF0000}{detail}$ 可以存放一些初始化的信息可以在触发的时候调用。其他属性就是定义该事件是否具有冒泡等等功能。 内置的事件会由浏览器根据某些操作进行触发自定义的事件就需要人工触发。 $\color{#FF0000}{dispatchEvent}$ 函数就是用来触发某个事件 element.dispatchEvent(customEvent); 上面代码表示在 $\color{#FF0000}{element}$ 上面触发 $\color{#FF0000}{customEvent}$ 这个事件。 // add an appropriate event listener obj.addEventListener(cat, function(e) { process(e.detail) });// create and dispatch the event var event new CustomEvent(cat, {detail:{hazcheeseburger:true}}); obj.dispatchEvent(event); 使用自定义事件需要注意兼容性问题而使用 jQuery 就简单多了// 绑定自定义事件 $(element).on(myCustomEvent, function(){});// 触发事件 $(element).trigger(myCustomEvent); // 此外你还可以在触发自定义事件时传递更多参数信息$( p ).on( myCustomEvent, function( event, myName ) {$( this ).text( myName , hi there! ); }); $( button ).click(function () {$( p ).trigger( myCustomEvent, [ John ] ); }); 15.如何从元素中移除事件监听器? const off (el, evt, fn, opts false) el.removeEventListener(evt, fn, opts);const fn () console.log(!); document.body.addEventListener(click, fn); off(document.body, click, fn); 16.如何获得给定毫秒数的可读格式 const formatDuration ms {if (ms 0) ms -ms;const time {day: Math.floor(ms / 86400000),hour: Math.floor(ms / 3600000) % 24,minute: Math.floor(ms / 60000) % 60,second: Math.floor(ms / 1000) % 60,millisecond: Math.floor(ms) % 1000};return Object.entries(time).filter(val val[1] ! 0).map(([key, val]) ${val} ${key}${val ! 1 ? s : }).join(, ); };// 事例 formatDuration(1001); // 1 second, 1 millisecond formatDuration(34325055574); // 397 days, 6 hours, 44 minutes, 15 seconds, 574 milliseconds17.如何获得两个日期之间的差异以天为单位 const getDaysDiffBetweenDates (dateInitial, dateFinal) (dateFinal - dateInitial) / (1000 * 3600 * 24);// 事例 getDaysDiffBetweenDates(new Date(2017-12-13), new Date(2017-12-22)); // 918.如何向传递的URL发出GET请求 const httpGet (url, callback, err console.error) {const request new XMLHttpRequest();request.open(GET, url, true);request.onload () callback(request.responseText);request.onerror () err(request);request.send(); };httpGet(https://jsonplaceholder.typicode.com/posts/1,console.log ); // {userId: 1, id: 1, title: sample title, body: my text}19.如何对传递的URL发出POST请求 const httpPost (url, data, callback, err console.error) {const request new XMLHttpRequest();request.open(POST, url, true);request.setRequestHeader(Content-type, application/json; charsetutf-8);request.onload () callback(request.responseText);request.onerror () err(request);request.send(data); };const newPost {userId: 1,id: 1337,title: Foo,body: bar bar bar }; const data JSON.stringify(newPost); httpPost(https://jsonplaceholder.typicode.com/posts,data,console.log ); // {userId: 1, id: 1337, title: Foo, body: bar bar bar}20.如何为指定选择器创建具有指定范围步长和持续时间的计数器 const counter (selector, start, end, step 1, duration 2000) {let current start,_step (end - start) * step 0 ? -step : step,timer setInterval(() {current _step;document.querySelector(selector).innerHTML current;if (current end) document.querySelector(selector).innerHTML end;if (current end) clearInterval(timer);}, Math.abs(Math.floor(duration / (end - start))));return timer; };// 事例 counter(#my-id, 1, 1000, 5, 2000); // 让 id“my-id”的元素创建一个2秒计时器 21.如何将字符串复制到剪贴板 const el document.createElement(textarea);el.value str;el.setAttribute(readonly, );el.style.position absolute;el.style.left -9999px;document.body.appendChild(el);const selected document.getSelection().rangeCount 0 ? document.getSelection().getRangeAt(0) : false;el.select();document.execCommand(copy);document.body.removeChild(el);if (selected) {document.getSelection().removeAllRanges();document.getSelection().addRange(selected);} };// 事例 copyToClipboard(Lorem ipsum); // Lorem ipsum copied to clipboard
http://www.pierceye.com/news/205008/

相关文章:

  • 韶关网站建设公司电子商务网站建设考试重点
  • 网站左侧 导航小红书广告投放平台
  • 资阳住房和城乡建设厅网站重庆建设网站建站
  • 网站制作厂家电话多少女生学网络工程难吗
  • 网站建设要经历哪些步骤?网站建设岗位周计划
  • 贵阳网站制作工具福步外贸论坛网首页
  • 网站大全app下载任务发布平台
  • 专业商城网站建设哪家便宜河南做外贸网站的公司
  • seo博客网站东莞网络推广运营企业
  • 定制网站建设公司哪家好嘉兴网站建设多少时间
  • 快三竞猜网站建设wordpress 整站打包
  • 珠海好的网站制作平台微信音乐音频怎么关闭
  • asp.net 网站计数器响应式设计
  • 2017做那些网站致富小程序商城哪个平台好
  • 织梦制作网站如何上线做网站 当站长
  • 如何知道一个网站是用什么做的树莓派搭建wordpress
  • 怎么制作网站登录电子商务网上购物网站建设规划
  • 大连外贸网站制作做文案公众号策划兼职网站
  • 400网站建设推广通王网站内容管理系统
  • 上海专业网站制作开发wordpress 一级目录下
  • 要查询一个网站在什么公司做的推广怎么查济南集团网站建设报价
  • 手机静态网站建设课程设计报告形象型网站
  • 网站建设接单渠道百度网站内容
  • 企业网站pv是什么手机网站开发价格
  • 北京网站优化团队oppo开放平台
  • 购物商城外贸网站福州营销型网站建设公司
  • 白酒pc网站建设方案网站不符合个人备案性质
  • 做视频网站程序多少钱免费人体做爰网站
  • 做海外网站 服务器放哪网页设计师通常是设计两套ui吗
  • 海拉尔网站建设做html网站模板下载