jQuery fadeOut 将不透明度设置为 1

标签 jquery html css fadeout

我会保持简短,考虑这一行:

$record.fadeOut(250);

其中 $record 是一个表格行,如下所示:

<tr id="5194c885eb9fbf38aa000026" class="record">
   <td>Test</td>
   <td>2013/05/16 - 13:52</td>
   <td>2013/05/16 - 13:52</td>
   <td class="recordActions">
       <a title="Edit" href="/2configure/templates/devicetypes/5194c885eb9fbf38aa000026/edit" class="edit">
           <img src="/icons/document--pencil.png" alt="edit">
       </a>
       <a title="Delete" href="/2configure/templates/devicetypes/5194c885eb9fbf38aa000026" class="delete">
           <img src="/icons/cross.png" alt="delete">
       </a>
   </td>
</tr>

我绝对确定 $record 包含此元素,而不包含其他元素。

未应用 CSS。 .fadeOut(250)之后,结果是:

<tr id="5194c885eb9fbf38aa000026" class="record" style="opacity: 1">
    ...
</tr>

什么给了?!?

jQuery 版本 1.7.1

编辑:完整功能

function onEntityUpdateSuccess(record_html, statusText, jqXhr, jqForm) {
    var $record = $(".record#" + jqForm.find('input[name="id"]').val());
    var $listingContainer = $record.parents(".listingContainer");
    if(!$listingContainer.is(":visible")) {
         $listingContainer.slideDown(250);
    }

    $record.animate({opacity:0}, 250);
    $record.replaceWith(record_html);
    $record.animate({opacity:0}, 250);
    //$record.fadeIn(1000);
}

更新

Aioros已发现问题:

$record.replaceWith(record_html);

是罪魁祸首。但为什么第二个动画也不起作用呢?如何替换 HTML 并使其保持淡色?

最佳答案

正如我在评论中所说,.replaceWith() 从 DOM 中删除 $record 元素,因此第二个 .animate() code> 没有可见的效果。您必须重新分配变量,或再次使用选择器。

function onEntityUpdateSuccess(record_html, statusText, jqXhr, jqForm) {
    var $record = $(".record#" + jqForm.find('input[name="id"]').val());
    var $listingContainer = $record.parents(".listingContainer");
    if(!$listingContainer.is(":visible")) {
         $listingContainer.slideDown(250);
    }

    $record.animate({opacity:0}, 250);
    $record.replaceWith(record_html);

    $record = $(".record#" + jqForm.find('input[name="id"]').val());
    /* or whatever the selector needs to be */

    $record.animate({opacity:0}, 250);
    //$record.fadeIn(1000);
}

关于jQuery fadeOut 将不透明度设置为 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16591111/

相关文章:

javascript - DIV对齐和定位问题

html - 换行到下一行时元素重叠

javascript - 滚动到顶部脚本 - div 在顶部时不会隐藏

iphone - 从主屏幕访问网站后 iphone 的 safari 上的不同 CSS 行为

html - CSS 表格,不同尺寸

javascript - Cordova 的 slider

javascript - 即使通过 text() 和 val() 方法也无法获取输入字段的值

javascript - jquery 脚本在 safari 中不起作用

php - 如何用CSS和VueJS控制父元素的样式?

javascript - jQuery slider /切换器/选项卡