js

jquery 纯JS设置select下拉框,并默认选中第一个

瘦欲@ 提交于 2020-03-18 13:26:01
//html页面<select id="payWay" class="easyui-combobox" name="payWay" style="width: 100%;" data-options="required:true,editable:false"> </select> //JS文件function getPayedWay(){ $.ajax({ type : "GET", url : top.baseUrl + "auction/settlement_bail/get/payed/type", data : null, dataType : 'json', success : function(result) { var typeStr = ''; $.each(result, function(index, temp) { typeStr += '<option value=' + temp.id + '>' + temp.name + '</option>'; }); $('#payWay').html(typeStr); $('#payWay').combobox({}); var data = $('#payWay').combobox('getData'); $("#payWay").combobox('select',data[0].value); },

js 如何取消promise

戏子无情 提交于 2020-03-18 12:19:20
1: 使用 reject function hello() { let _res, _rej: any; const promise = new Promise((res, rej) => { _res = res; _rej = rej; setTimeout(() => { res("hello world"); }, 5000); }); return { promise, abort: (opt = {}) => { _rej({ name: "abort", message: "the promise is aborted", aborted: true, ...opt }); } }; } const { promise, abort } = hello(); promise.then(console.log).catch(e => { console.log(e); }); abort(); 2: 使用 Promise.race const promise = new Promise(function(res) { setTimeout(res, 5000, "hello world"); }); const abort = new Promise(function(_, _abort) { _abort({ name: "abort", message: "the

js子窗口修改父窗口内容

烈酒焚心 提交于 2020-03-18 07:32:59
在框架中,我用 JavaScript 获取 JSON 数据,组织成 HTML 代码,最后将其填充至上层文档的一个元素中。按照一般的写法,我们需要用到类似如下的语句: 1. window.parent.document.getElementById( "myEle" ).innerHTML = html; 使用 jQuery ,写法如下: 1. $( "#myEle" , window.parent.document).html(html); 即指明了是在 window.parent.document 中查找 id=myEle 的元素。 随着前面的问题的解决(其实是对 jQuery 的了解不够),现在两种方案都可以实现我需要的效果了。 另外还有一种实现方式,代码如下: 1. parent.$( "#myEle" ).html(html); 这种方法要求父文档也要调用 jQuery 。 今天总结一下js中几个对象的区别和用法: 首先来说说 parent.window与top.window的用法 "window.location.href"、"location.href"是本页面跳转 "parent.location.href"是上一层页面跳转 "top.location.href"是最外层的页面跳转 举例说明: 如果A,B,C,D都是jsp,D是C的iframe,C是B的iframe

JS函数表达式 -- 私有变量

风格不统一 提交于 2020-03-18 06:53:28
  任何在函数中定义的变量,都可以认为是私有变量,因为不能在函数的外部访问这些变量。 私有变量包括函数的参数、局部变量和在函数内部定义的其它函数。 function add(num1, num2){ var sum = num1 + num2; return sum; } 在这个函数中,有三个私有变量: num1、num2和sum。在函数内部可以访问这几个变量。但在函数外部则不能访问他们。 如果在这个函数内部创建一个闭包,那么闭包通过自己的作用域链也可以访问这些变量。利用这一点,就可以创建用于访问私有变量的公有方法。 我们把有权访问私有变量和私有桉树的公有方法称为特权方法(privileged method)。有两种在对象上创建特权的方法: 1. 在构造函数中定义特权方法: function MyObject(){ //私有变量 var privateVariable = 10; //私有函数 function privateFunction(){ return false; } //特权方法 this.publicMethod = function(){ privateVariable++; return privateFunction(); } } var obj = new MyObject(); alert(obj.publicMethod()); //false

JS 函数防抖 函数节流

南楼画角 提交于 2020-03-18 05:00:23
平滑滚动到页面顶部 const scrollToTop = () => { const c = document.documentElement.scrollTop || document.body.scrollTop; if (c > 0) { window.requestAnimationFrame(scrollToTop); window.scrollTo(0, c - c / 8); } } // 事例 scrollToTop() /** 函数防抖 * @param { function } func * @param { number } wait 延迟执行毫秒数 * @param { boolean } immediate true 表立即执行,false 表非立即执行 */ export function debounce(func,wait,immediate) { let timeout; return function () { let context = this; let args = arguments; if (timeout) clearTimeout(timeout); if (immediate) { let callNow = !timeout; timeout = setTimeout(() => { timeout = null; },

JS 从对象检索给定选择器指示的一组属性

霸气de小男生 提交于 2020-03-18 04:57:10
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'] 来源: https://www.cnblogs.com/wkk2020/p/12515131.html

JS 指定选择器创建具有指定范围,步长和持续时间的计数器

感情迁移 提交于 2020-03-18 04:54:55
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秒计时器 来源: https://www.cnblogs.com/wkk2020/p/12515134.html

关于JS中的冒泡事件

試著忘記壹切 提交于 2020-03-18 04:42:40
原文地址: http://www.cnblogs.com/rixinren/archive/2010/04/06/1705812.html js冒泡事件 前几天在老大那里接触到了js的一个新的单词:冒泡事件; 何为冒泡事件。 就是当设定了多个div的嵌套时;即建立了父子关系,当父div与子div共同加入了onclick事件时,当触发了子div的onclick事件后,子div进行相应的js操作。但是父div的onclick事件同样会被触发。这就造成了事件的多层并发,导致了页面混乱。这就是冒泡事件。 消除冒泡事件的方法 阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation) 下面的一段代码即可以很好的解释是么是冒泡效果,什么叫消除冒泡效果 <html> <head> <title> 阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)</title> <meta name="keywords" content="JavaScript,事件冒泡,cancelBubble,stopPropagation" /> <script type="text/javascript"> function doSomething (obj,evt) { alert(obj.id); var e=(evt)?evt

js基本概念

浪尽此生 提交于 2020-03-18 04:25:51
接下来简单介绍js的基本语法,js的很多语法和一般的c语言相似 1.区分大小写 2.标识符命名:第一个字符不得是数字 3.注释:与C语言相似 4.noscript元素 部分浏览器是不支持js的或者用户自己选择不加载js脚本,这时候我们可以通过设置noscript元素来告诉用户,你要下载js脚本才能看到更多的内容。当浏览器支持js,noscript内的内容不会被显示出来 5.变量 js的变量是松散类型的,意思就是可以用来保存任何类型的数据。一个变量仅仅只是一个用于保存值得占位符罢了。定义变量时要使用var操作符后跟变量名 var message='HI';   *如果定义变量的时候不使用var,则表示该变量为全局变量,但是这种做法并不建议使用,原因是在会给后期维护带来很大的不便。 6.数据类型 6-1.typeof操作符 因为js变量是松散类型的,那就需要一个方法来检测变量内的数据类型 语法: typeof string;typeof 95;typeof (object);//虽然圆括号可使用,但是因为typeof不是函数,而是操作符,所以为了规范,不建议使用圆括号 *typeof可能返回以下几种类型: (1)number——如果这个值是数值 (2)object——如果这个值是对象或null (3)function——如果这个值是函数 (4)undefined——如果这个值还未定义

js获取非行间样式

江枫思渺然 提交于 2020-03-18 03:52:52
相关知识: window.getComputedStyle :       Window.getComputedStyle() 方法给出应用活动样式表后的元素的所有css属性的值,并解析这些值可能包含的任何基本计算。   语法:let style = window.getComputedStyle(element, [pseudoElt]);     pseudoElt :指定一个要匹配的伪元素的字符串。必须对普通元素省略(或null)。     返回的样式是一个实时的 CSSStyleDeclaration 对象,当元素的样式更改时,它会自动更新本身。   与伪元素一起使用:         let h3 = document.querySelector('h3'),         result = getComputedStyle(h3, '::after').content;   getComputedStyle(odiv,false)这里的两个参数,第一个参数代表要获取那个元素的样式, 第二个是解决FF较低版本的写法,而对于高版本的可以不用写。 注 : 在firefox3.6上访问子框架内的样式 (iframe)必须使用 document.defaultView.getComputedStyle ,其他可使用window.getComputedStyle Element