• 坑爹的IE8


    1.不能用trim(),要用$.trim()
       var aa = $("#id").val().trim()  这样素不行的,要变成这样Jquery的方式 var aa = $.trim($("#id").val()) 
      还有个迂回的方式自己来实现
       参照:http://hi.baidu.com/yuiezt/item/756d0f4ec4d2640ec11613f9

    2.使用<marquee>,当一轮走过后,总要有一段空白的才会走下一轮。当里面的内容超过屏幕宽度太多时,这种状况就更加明显了。
      
    为此,改用每隔一段时间移动位置来实现。
       发现当speed设成1时,IE8变得非常局促,一下快一下慢,这是为咩啊,我摔,别的IE9,Chrome都飞快地说。
    <script>
    var speed=100;
    var tab=document.getElementById("main");
    var tab1=document.getElementById("content1");
    var tab2=document.getElementById("content2");
    tab2.innerHTML=tab1.innerHTML;
    function Marquee(){
    if(tab2.offsetWidth-tab.scrollLeft<=0)
    tab.scrollLeft=tab.scrollLeft-tab1.offsetWidth*10
    else{
    tab.scrollLeft=tab.scrollLeft+10;
    }
    }
    var MyMar=setInterval(Marquee,speed);
    tab.onmouseover=function() {clearInterval(MyMar)};
    tab.onmouseout=function() {MyMar=setInterval(Marquee,speed)};
    </script>

      
    3.慎用"dispaly:none"/"display:block",采用"visiblity:hidden"/"visibility:show",最好用Jquery的show()和hide()来控制
      "visiblity:hidden"会留出个位置给隐藏元素,这样当切换元素可见不可见的时候,画面位置不会改变。
      而"display:none"在其它浏览器也没事,但碰上IE8,就会在页面上留下个残影,IE8,你的反应要不要这么慢阿!

    4.当DropDown List子项值的长度超过预留位置时,IE8挡住了过长的部分,不方便选择

    补救方法,在option加上title属性,使得鼠标放上面可以显示整个文本值

    test : <select name="Select1" value="0" style="250px">
    <option selected="true" value="0">Please choose a value</option>
    <option value="1" title='aaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbaacccccccccccc'>aaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbaacccccccccccc</option>
    <option value="2" title='aaaaaaaaaabbbbbbbbbbbbbbbbbbbcccccddddddd'>aaaaaaaaaabbbbbbbbbbbbbbbbbbbcccccddddddd</option>
    </select>
    


    效果:

     5.Jquery在做Browser support时,动态给地里面加入些元素测试,结果某些语句通不过
    这个是ie的问题,它不支持修改tr或table的innerHTML属性,只允许修改td的innerHTML,真是奇葩呀
    innerHTML未知的运行错误
    http://www.cnblogs.com/orc/archive/2008/06/18/1224322.html

    jquery-1.8.3.js
    div = document.createElement("div");

    div.innerHTML = "<table><tr><td></td><td>t</td></tr></table>";

    jquery.js
    div.innerHTML = "<div style='4px;'></div>";

    div.innerHTML = "<table><tr><td style='padding:0;display:none'></td><td>t</td></tr></table>";

    解决办法,使用低版本的jQuery,比如jquery-1.6.4

  • 相关阅读:
    函数进阶:闭包、装饰器、列表生成式、生成器、迭代器
    函数基础:内置函数
    Python函数基础---参数、变量
    python函数基础:嵌套函数、作用域、匿名函数、高阶函数、递归函数
    三元运算、文件操作
    Python终端如何输出彩色字体
    文件处理: read、readline、 readlines()
    16进制、编码问题
    JSON 操作与转化
    高并发和大型网站架构相关
  • 原文地址:https://www.cnblogs.com/sui84/p/6777208.html
Copyright © 2020-2023  润新知