javascript技巧

JS轮播图的实现方法

2020-08-21
本文实例为大家分享了JS轮播图的实现代码,供大家参考,具体内容如下 需求: 自动轮播,鼠标移入轮播停止.移出继续,小圆点点击切图,左右箭头切图 效果图: 思路 通过编写过渡动画实现轮播效果,图片的出现动画以及移出动画.显示区的图片移出,切换的图进入分别调用动画,程序关键点:哪张图应该进入,哪张图应该移出. 轮播分为三部分: 自动轮播,左右箭头翻图,底部小圆点点击翻图. 编写程序顺序: 1. 小圆点点击 为什么先做小圆点呢?做小圆点点击功能时,我们能够清晰的知道哪张图片应该切换过来,哪张图片应该移

JS typeof fn === 'function' && fn()详解

2020-08-21
我在看别人代码的时候,有看到代码是这样写的 function(){ fn&&fn() } 大概意思是这么个意思,但是这我感觉这样写好像没意义,有带佬能指点一下吗 fn 不存在就什么都不做,不会报错,fn 存在才尝试执行 fn 一般来说fn && fn()就如同下面的语句 if (fn) { fn() } 一般来说函数的动态调用,因为不知道这个函数确定存在才会这么判断 大部分情况是这个意思,如果 fn 是 undefined 就不执行 fn().React 针对 option

JavaScript中的函数式编程详解

2020-08-21
函数式编程 函数式编程是一种编程范式,是一种构建计算机程序结构和元素的风格,它把计算看作是对数学函数的评估,避免了状态的变化和数据的可变,与函数式编程相对的是命令式编程.我们有这样一个需求,给数组的每个数字加一: // 数组每个数字加一, 命令式编程 let arr = [1, 2, 3, 4]; let newArr = []; for(let i = 0; i < arr.length; i++){ newArr.push(arr[i] + 1); } console.log(newArr)

google广告之另类js调用实现代码

2020-08-21
今天发现一个google广告的另类调用方法 function addGoogel (content, obj) { addScript('//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js', function () { var ins = document.createElement('ins') ins.setAttribute('class', 'adsbygoogle') ins.setAttribute('data-ad-c

探究一道价值25k的蚂蚁金服异步串行面试题

2020-08-21
前言 朋友去面试蚂蚁金服,遇到了一道面试题,乍一看感觉挺简单的,但是实现起来发现内部值得一提的点还是挺多的. 先看题目: const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); const subFlow = createFlow([() => delay(1000).then(() => log("c"))]); createFlow([ () => log(&qu

探索浏览器页面关闭window.close()的使用详解

2020-08-20
说起来window.close(),这也是个"不太让人省心"的角色.因为浏览器兼容性千差万别,还对他有诸多限制. 使用语法: window.close() 场景复现 昨天发现有人在csdn上传违禁文件,举报后来到了这个页面: 里面那个按钮发现点击无效! 就...当时就挺尴尬的. 不过既然它说是[关闭],当时就想到了这个堪称"漏洞百出"的close事件,F12打开控制台一看:果不其然 看到这顿时就来了兴趣 探索过程和解决方案 为什么就突然来了兴趣呢? 首先,从这行代码

js绘制一条直线并旋转45度

2020-08-20
本文实例为大家分享了js绘制一条直线并旋转45度的具体代码,供大家参考,具体内容如下 绘制一条直线,并旋转45度 html 页面 <canvas id="canvas" width="300" height="300" style="background-color: orange;"></canvas> js页面 <script> var canvas = document.getElem

利用React高阶组件实现一个面包屑导航的示例

2020-08-20
什么是 React 高阶组件 React 高阶组件就是以高阶函数的方式包裹需要修饰的 React 组件,并返回处理完成后的 React 组件.React 高阶组件在 React 生态中使用的非常频繁,比如react-router 中的 withRouter 以及 react-redux 中 connect 等许多 API 都是以这样的方式来实现的. 使用 React 高阶组件的好处 在工作中,我们经常会有很多功能相似,组件代码重复的页面需求,通常我们可以通过完全复制一遍代码的方式实现功能,但是这

js实现滑动进度条效果

2020-08-20
本文实例为大家分享了js实现滑动进度条效果的具体代码,供大家参考,具体内容如下 进度条: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>js滑动进度条效果</title> <style> *{margin:0;padding:0;user-select:none;} .progress-bar{position:relativ

js实现拖拽元素选择和删除

2020-08-20
本文实例为大家分享了js实现拖拽元素选择和删除的具体代码,供大家参考,具体内容如下 我们上网的时候讲过一些平台在选择一些选项的时候采用拖拽的方式将选项拖入指定位置完成选择,现在我们就自己来实现一下类似的效果. 结果如下: 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>js置顶动画</title> <style> *

微信小程序中data-key属性之数据传输(经验总结)

2020-08-20
本文是总结的一点经验之谈 啥是data-key 微信小程序推出 data- 属性--自定义属性,为了更好的进行数据传递. 总结来说,data-key="{{...}}" 是获取页面中需要用的数据,往js文件(事件)中传-- 被绑定在其组件上的事件使用 也就是常说的:dataset:(比如:wx:for的view中的每一个项的name属性值) 而data-key="..." 是从data传到wxml页面中,一般都是在data中存在的属性才这样做,它就是为了"

如何使用JavaScript实现无缝滚动自动播放轮播图效果

2020-08-19
在一些项目开发中,我们经常需要使用到轮播图,但是没有深入学习的情况下做轮播图是非常困难的. 思路 分成小问题来解决 1. 动态生成序号12345 页面有多少li(图片),就有多少序号 2. 点击序号.显示高亮.切换图片 2.1 给序号注册onclick事件 2.2 取消其他序号高亮显示,让当前点击的序号高亮显示 2.3 点击序号,动画的方式切换到当前点击的图片位置(设置自定义属性,记录当前索引,有了索引就可用动画进行移动) 3. 鼠标放到盒子上的时候显示左右箭头,移开时候隐藏 onmouseen

js实现页面导航层级指示效果

2020-08-19
我们上网经常看到一些页面层级指示的效果,比如淘宝.京东.百度百科等,用于指示用户浏览页面到哪里了.可以起到很好的交互效果,现在我们就来自己去实现以下类似的效果.主要用到的API是scrollIntoView 和 getBoundingClientRect方法,原理是监听页面滚动元素,当元素距离到浏览器视口一定的位置的时候就证明元素开始出现在页面的视口,就可以标识右边的指示栏. 代码如下: <!DOCTYPE html> <head> <meta http-equiv=&quo

JavaScript 空间坐标的使用

2020-08-19
基础知识 首先参考画布分为视口(窗口)与文档的含义 网页很多都是多屏,所以文档尺寸一般大于视口尺寸 视口尺寸不包括浏览器工具条.菜单.标签.状态栏等 当打开控制台后,视口尺寸相应变小 文档像 position 定位,视口类似 fixed 定位 文档坐标在页面滚动时不发生改变 视口坐标的操作需要考虑滚动条的位置 视口文档 视口坐标需要知道滚动条位置才可以进行计算,有以下几种方式获取滚动位置 方法 说明 注意 window.innerWidth 视口宽度 包括滚动条(不常用) window.inne

原生JS实现多条件筛选

2020-08-19
本文实例为大家分享了原生JS实现多条件筛选的具体代码,供大家参考,具体内容如下 我在学JS初始看到的教程基本都是JS二级联动查询.三级联动查询:如下图: 但有时并不需要级联查询,如购买商品时: 今天我以慕课网前端样式作为参考做了下面的Demo,基于原生JS <div id="direction"> <strong>方向:</strong> <span class="active">全部</span> <

AJAX XMLHttpRequest对象创建使用详解

2020-08-19
创建XMLHttpRequest对象 XMLHttpRequest是AJAX的基础. 所有现代浏览器(IE7+.Firefox.Chrome.Safari以及Opera)均内建XMLHttpRequest对象. 注:IE5/IE6需要使用ActiveRequest对象. 向服务器发送请求 xmlhttp.open("GET","ajax_info.txt",true); xmlhttp.send(); post方式:xmlhttp.send("id=1&a

微信小程序实现聊天室

2020-08-18
本文实例为大家分享了微信小程序实现聊天室的具体代码,供大家参考,具体内容如下 正文: <!-- <button bindtap='close'>关闭</button><button bindtap='open'>打开</button> --> <view wx:if='{{login}}' class='login_zz'></view> <button wx:if='{{login}}' class='login'

微信小程序通过websocket实时语音识别的实现代码

2020-08-18
之前在研究百度的实时语音识别,并应用到了微信小程序中,写篇文章分享一下. 先看看完成的效果吧 前置条件 申请百度实时语音识别key 百度AI接入指南 创建小程序 设置小程序录音参数 在index.js中输入 const recorderManager = wx.getRecorderManager() const recorderConfig = { duration: 600000, frameSize: 5, //指定当录音大小达到5KB时触发onFrameRecorded format:

React冒泡和阻止冒泡的应用详解

2020-08-18
阻止事件冒泡分三种: 1:阻止合成事件往最外层document上的事件冒泡,用e.nativeEvent.stopImmediatePropagation(); 2: 合成事件间的冒泡,使用 e.stopPropagation(): 3:阻止合成事件,往处理document上的其他原生事件冒泡,需要通过e.target来判断,示例代码如下. import React,{ Component } from 'react'; import ReactDOM,{findDOMNode} from 'r

js+css实现扇形导航效果

2020-08-18
本文实例为大家分享了js+css实现扇形导航效果的具体代码,供大家参考,具体内容如下\ <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>扇形导航</title> <style type="text/css"> *{ margin: 0; padding: 0; } html,body{ height: 100%;