offsetWidth表示对象的可见宽度。 比如: #div1 {width: 100px;height: 200px;background: red; } 结果:100 #div1 {width: 100px;height: 200px;background: red;border: 2px solid black; } 结果:104 (100 + 2 + 2) #div1 {width: 100px;height: 200px;background: red;border: 2px solid black;padding: 20px; } 结果:144 (100 + 2 + 2 + 20 + 20) #div1 {width: 100px;height: 200px;background: red;margin: 4px; } 结果...
chosen-select元素执行了chosen()方法后,为select元素加上了style="display: none;"进行隐藏,然后重新构造了一个看起来像select的下拉列表。 而jQuery Validate默认忽略对隐藏元素进行校验,因此我们要把select排除。在validate()方法的参数中增加ignore属性,将select从忽略的隐藏元素中剔除。 $("select").validate({ignore: ":hidden:not(select)"});:hidden 选择器选取隐藏的元素。 以下几种情况的元素是隐藏元素: 设置为 d...
最近在学React,在gitHub上下载一个项目下来,安装node.js后发现用npm install就一直报错,不知道怎么解决,查了很多资料 都没有用。 在windows下 cmd到命令窗口 (最好是管理员的身份运行),结果就如下图01才开始学 不清楚什么错误,感觉和npm无关,查资料说是更改npm的安装源 可以使用npm config list 查看当前配置的状况,说可能是某些包被国内墙了 需要操作 npm config set strict-ssl false //关闭npm的https npm con...
今天写表单提交的时候需要增加一个确认提示,所以没有使用submit按钮提交,改用jq的submit(),然后问题了<form class="form-horizontal m-t" method="post" action="@Url.Action("Edit")" id="form"><div class="row"><div class="col-sm-12"><div class="ibox float-e-margins"><div class="ibox-title"><h5>添加</h5></div><div class="ibox-content"><div class="form-group"><label class="col-sm-3 control-label">开始时间:...
注意原因: window对象的attachEvent方法只在IE浏览器中有效,其它浏览器不支持这个方法,所以报错。 self.attachevent is not a function其实就是以前的代码, 没有做chrome、firefox浏览器兼容导致。 self.attachEvent("onblur",function(){dd.style.display="none"})上面的代码在chrome浏览器肯定会报错的。 因为chrome浏览器绑定事件不支持attachevent而支持addEventListener。 下面是临时解决方法: if(!self.addEventListene...
通常出现这种状况有几种解决方法: 1:查看是否引入jquery文件 就算引入了文件了是不是通过一些整站下载器之类的软件下载的,都会出现问题,建议用迅雷到官方下载即可。 2:查询路径是否错误,可以在页面源码中点击js文件路径. 有时候js里面会自动加入一些路径,导致路径错误 3: JS是解释型语言,是根据标签引用分块顺序执行的,$是jQuery中的产生的对象,需要用的话,必须将jquery.js文件放在使用它的JS前面。 将jQuery库放在依赖于jQ...
$.browser.msie 为空或不是对象,这个是jQuery错误 出现这个错误,是因为升级了jQuery版本,从1.9以前升级到1.9以后,因为$.browser.msie在1.9以后的jQuery中不存在了,所以报错。 jQuery 1.9 移除了 $.browser 的替代方法 $.browser是通过正则表达式来匹配userAgent来判断浏览器版本和种类的.jquery1.3.2版本的文档中已经声明jquery.browser及jquery.browser.version建议弃用,可以使用jquery.support来代替。 jQuery 从 1.9 版开...
由于文字内容的长度不确定性和页面布局的固定性,常常会遇到文字溢出的状况,有一下解决方法: 1:规定文字父容器的宽高,设置超出隐藏:overflo:“hidde” -------缺点是会经常遇到最后一行文字显示不全的情况,建议在只控制一行文字显示的时候使用 2:css+div防止文字溢出,超出部分变成省略号,折行显示,white-space:nowrap;word-break:break-all; text-overflow:ellipsis; -o-text-overflow:ellipsis; overflow: hidden; -...
前言 这几天写腾讯实习生 Mini 项目的时候用上了 React 全家桶,当然同时引入了 Webpack 作为打包工具。但是开发过程中遇到一个很棘手的问题就是,React 加上 React-Router、superagent、eventproxy 这些第三方轮子一共有好几百个 module,Webpack 的打包速度极慢。这对于开发是非常不好的体验,同时效率也极低。 问题分析我们先来看一下完全没有任何优化的时候,Webpack 的打包速度(使用了jsx和babel的loader)。 下面是我们的测...
1.今天写js碰到一个奇怪的问题,写好的js放到body里面执行,但是放到head中没有任何效果,为什么导致这种原因呢? 看失效代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head><title> new document </title><meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /><style type=...
1、起因:返回结果是true。 2、原因:计算机的二进制实现和位数限制有些数无法有限表示。就像一些无理数不能有限表示,如 圆周率 3.1415926...,1.3333... 等。JS 遵循 IEEE 754 规范,采用双精度存储(double precision),占用 64 bit。 3、解决方法 (1)toFixed(),存在兼容性(chrome)(2)比较稳妥方法(数字如果过大,也会有误差): *JS 中能精准表示的最大整数是 Math.pow(2, 53),十进制即 9007199254740992。 大于 90071...
实例如下: //加法函数,用来得到精确的加法结果 //说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。 //调用:accAdd(arg1,arg2) //返回值:arg1加上arg2的精确结果 function add(a,b){ var c, d, e;try {c = a.toString().split(".")[1].length;} catch (f) {c = 0;}try {d = b.toString().split(".")[1].length;} catch (f) {d = 0;}return e = Math.pow(10, Math.max(...
问题: 37.5*5.5=206.08 (JS算出来是这样的一个结果,我四舍五入取两位小数) 我先怀疑是四舍五入的问题,就直接用JS算了一个结果为:206.08499999999998 怎么会这样,两个只有一位小数的数字相乘,怎么可能多出这么小数点出来。 我Google了一下,发现原来这是JavaScript浮点运算的一个bug。 比如:7*0.8 JavaScript算出来就是:5.6000000000000005 解决方法:网上找到了一些解决办法,就是重新写了一些浮点运算的函数。 下面就把这...
1. 在layer弹窗组件中 如果使用了flash播放器,全屏是正常的 但若使用了HTML5的播放器,全屏失效 举个栗子 <!DOCTYPE html> <html> <head><meta charset="utf-8"><title></title><script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script><script src="layer/layer.js"></script><style></style> </head> <body> <h1>我是字</h1> <div id="box"> <video id="video" controls preload="auto" width="400...
一、问题总结: 样式必须直接写在元素内部才能通过div.style.left直接获取属性值(也就是必须是内联样式才行),定义在css中的样式不能通过这种方式获取。 让元素移动到200停止 setTimeout ( function () { var div = document.getElementById("div4");//var left = parseInt(div.style.left) + 5;var left = div.offsetLeft + 5;div.style.left = left + "px";if (left < 200) {setTimeout( arguments.callee, 50);}}, 50...