Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery-在IE8中设置不透明度动画_Jquery_Animation_Internet Explorer 8_Opacity - Fatal编程技术网

jQuery-在IE8中设置不透明度动画

jQuery-在IE8中设置不透明度动画,jquery,animation,internet-explorer-8,opacity,Jquery,Animation,Internet Explorer 8,Opacity,在我目前工作的网站上,我有一个,包含大量,每个都包含,,,等等 当我将鼠标悬停在其中一个上时,我正在使用jQuery将所有其他的不透明度设置为0.3,以吸引人们对聚焦的的注意 我的问题是IE8(只有IE8)正在设置的不透明度的动画,但该中没有子元素 有人以前遇到过这个问题,或者知道解决方法吗 谢谢 编辑: 请参阅下面的JSFIDLE以获取示例-IE8的不透明性支持众所周知是非常脆弱和有缺陷的 jQuery在从开发人员那里抽象出细节方面做得很好,但他们无法避免一个简单的事实,即该特性在这个浏览器中

在我目前工作的网站上,我有一个
    ,包含大量
  • ,每个都包含
    ,等等

    当我将鼠标悬停在其中一个
  • 上时,我正在使用jQuery将所有其他
  • 的不透明度设置为0.3,以吸引人们对聚焦的
  • 的注意

    我的问题是IE8(只有IE8)正在设置
  • 的不透明度的动画,但该
  • 中没有子元素

    有人以前遇到过这个问题,或者知道解决方法吗

    谢谢

    编辑:


    请参阅下面的JSFIDLE以获取示例-

    IE8的不透明性支持众所周知是非常脆弱和有缺陷的

    jQuery在从开发人员那里抽象出细节方面做得很好,但他们无法避免一个简单的事实,即该特性在这个浏览器中不能很好地工作

    我的建议是完全改变大头钉,而不是淡出你可以看到的元素,而是有一个隐藏的元素,它是一个相同大小的纯白色框,然后淡入


    效果大致相同,但在IE中效果应该更好,因为您只会影响单个元素的不透明度。

    我有一个类似的问题-在IE8中,为了确保子元素的不透明度在更改其父元素的不透明度时也会受到影响,您必须应用css规则

    filter:inherit
    

    到子元素。简单的修复,但可能是模糊的

    我试图在一个场景中为行设置不透明度动画,发现jquery1.10确实尝试在内部解决IE8不透明度问题。但是,它并没有解决继承元素的问题。这段代码在分页表上添加并显示新行,可能有助于其他人:

    //将行添加到表中
    newRow=dTable.row.add(rowData);
    dTable.draw();
    newIdx=newRow.index();
    pos=dTable.rows()[0].indexOf(newIdx);
    //从page.jumpToData()在正确的页面上绘制项目
    如果(位置>=0){
    var page=Math.floor(pos/dTable.page.info().length);
    数据表。第页(第页)。绘制(假);
    var jqRow=newRow.nodes()。到$();
    var cells=jqRow.children('th,td');
    如果(可编辑>0){
    //关注新行中的第一个可编辑单元格。。。
    cells.eq(可编辑)。单击();
    }
    //子元素需要继承-请参见Buzz的答案
    css('filter','inherit');
    jqRow.addClass('highlight').css('opacity',0.2);
    设置动画({opacity:1.0});
    设置动画({opacity:0.2});
    动画({opacity:1.0},2000,'swing',函数(){
    $(this.removeClass('highlight');
    });
    
    在jsfiddle或其他东西中发布您的代码我无法在此处复制此问题:。您能否更具体地描述HTML和制作动画的jQuery代码。您必须发布一些代码!我们不是读心术者。仅供参考,IE使用
    过滤器
    控制不透明度,
    过滤器
    仅适用于某些环境中的子对象但是这些情况是特定于HTML和CSS的。很抱歉,请参阅下面的JSFIDLE示例。我可以确认这个问题在我的IE8中复制了-这解决了我的问题。我使用jquery inview插件显示/隐藏了。并且这些子元素始终可见。