Gecko(Firedox内核) 、Webkit(Chrome内核)浏览器中图片轮播切换向左向右切换的尺寸不正确;
原因:由于代码写在ready时开始获取图片尺寸,但是Webkit中图片往往还没加载完成,所以获取的尺寸有问题;
方法:事件、函数写在onload内;
Table表格列数过多超出显示窗口时,无法实现表头在往下滚动时能固定位置;
原因:一般情况使用display:fixed脱离文本流即可,但是列数过多脱离文本流后全挤在可视窗口内导致位置全移位;
方法:可以参考datatable的fixed-header,采用两个Table实现
E7下块元素如何兼容 display:inline-block写法?
原因:在IE6、IE7中设置display: inline-block,只能保证这个div拥有块元素的特征(可设置宽度,高度等),但还是会产生换行。接下来要设置display: inline,使其不产生换行。将display:inline-block ; *display:inline;写在同一个样式内,inline-block属性是不会触发元素的layout的,因此我们还要额外加上 *zoom:1来触发layout!
方法:{ display:inline-block; *display:inline; *zoom:1}
E7下position:relative; position:absolute兼容z-index写法?
原因:因为(relative或absolute)的父元素”在渲染层次时起到了主要作用,前面的被后面的覆盖了。
方法:在每个父级中加入z-index属性即可;(由于2个正方形都已经absolute不占位置,添加的2个父级就会处于同一水平上;)
<div style="position:relative;z-index:2;">
<div style="position:absolute;z-index:100;width:100px;height:100px;background:red;">
这个一个大正方形;全显示;
</div>
</div>
<div style="position:relative;z-index:1;">
<div style="position:absolute;z-index:10;width:20px;height:20px;background:black;">
这个一个小正方形;被遮盖;
</div>
</div>
优化大图片加载速度?
方法:
第一种是先用原图制作一张缩略图;第二种图片延迟技术(比如向下滚动到某位置才开始加载图片)
第二种
<div style="width:400px;height:300px;position:relative;">
<img src="放置缩略图" style="width:100%;height:100%;"/>
<img src="放置原图" style="width:100%;height:100%;position:absolute;top:0px;left:0px;"/>
</div>
ajax异步使用html5media.js在低版本浏览器分页列表video视屏不生效;
原因:低版本浏览器在不支持video这标签时会自动转换flash方式播放,但是使用ajax异步获取的video视频无法转换,由于异步处理时html5media.js没有初始化;
方法:在html5media.js文件寻找到以下代码 // Automatically execute the html5media function on page load. DomReady.ready(html5media);放入使用ajax加载数据内容到页面上的html内;
IMG与DIV(block类型元素)下边界有距离、缝隙或空隙;
方法:img{vertical-align:bottom/middle/top;}
或 DIV中font-size:0
;
如何父元素绑定的事件子元素中不被继承;
方法:其实原生JS有addEventListener()第三个参数useCapture为true既是不被继承。但是这种方式在jquery里面是不可以的,由于jquery的机制不允许。如果要实现不继承可以使用event.target判断点击的元素是哪一个来实现;
例
<span data-wiz-span="data-wiz-span" style="font-size: 0.833rem;">$('el').on('click',function(e){
if(e.target == '.class') return ;
})</span>
按照原理刷新会把form的值清空。所以现在目的就是让刷新后值依然存在
方法:必要条件URL中有对应的参数与参数值,在document.ready时把对应的参数值传到对应的form元素的value属性中即可。这种方式也是可以解决select元素按条件展示不同的选择内容;
解决父form标签内套一层子form在生成DOM结构必定只有父form,希望获取值子form的input值集合
方法:子form标签换成DIV标签并给一个class名(假设为.form),然后使用.serializeArray()获取DIV内的所有表单元素键值对对象;
例
$('.form :input').serializeArray();
IE8以下解决对象不支持“forEach or map”属性或方法;
添加附件的MapAndForEach.js 即可;