问题大概是这样的:我的form表单里,有个select选项,我觉得IE默认的太难看了,于是用js做了一个效果。当然这个form还用了css修饰,如果我的css里不包含background(这个background不是修饰这个form的),那么我刷新页面的时候,我的select效果立即出现。如果css里包含background(同上),那么刷新页面的时候,这个select会先闪现一下IE默认的样式(闪现速度很快),然后才是出现我的js特效。有人知道这是为什么吗?
window.onload = function(e) {
bodyclick = document.getElementsByTagName('body').item(0);
rSelects();
bodyclick.onclick = function(){
for (i=0;i<selects.length;i++){
$('select_info_' + selects[i].name).className = 'tag_select';
$('options_' + selects[i].name).style.display = 'none';
}
}
}
</SCRIPT>
上面是我的js的部分内容(字数有限不能全部贴出来),使用这段js的话,默认的select需要保留。
我这里用了window.onload,可能是要加载完整个页面才开始运行js,所以会闪一下默认的select。有没有方法让它在整个页面加载完之前就运行?图片大的问题已排除。
感谢您的回答,我的js里面利用var selects = document.getElementsByTagName('select');
for (i=0;i<selects.length;i++){
selects[i].style.display = 'none';
.......
所以原生的select不能删除,请问老师有没有办法让我的js在整个页面加载完之前就运行?
很简单啊...不要用window.onload...直接把js代码写到select后面....加载完就就直接加在js...这样应该就可以了...
本回答被网友采纳