元素向左移动隐藏

时间:2015-05-05 00:37:50

标签: jquery css

我在屏幕中间显示错误信息,然后在几秒钟后会淡出。

这样可行,但我不想发生的事情是在淡出时移动到屏幕最左侧的错误消息。

我不确定这是因为css还是真正的jquery本身造成的。

以下是发生了什么的示例:http://jsfiddle.net/dLt51xwe/

$(document).ready(function () {
    $("button").click(function () {
        $('#error').html("<div class='error-message'>ERROR</div>").show();
        setTimeout(function () {
            $('#error').hide("slow");
        }, 1000);
    });
});

我想知道它是否是导致它的css上的边距,所以我尝试了这个:

left: 50%;
transform: translate(-50%, 0);
width: 40%;
position: relative;

但是我仍然遇到同样的问题,即元素会在渐渐消失时移动到最左边。

我也尝试过使用提供的fadeOut()选项,但淡入淡出并不起作用。 fadeOut()似乎只适用于我的事件,我在else语句中使用它。

事件示例:http://jsfiddle.net/dLt51xwe/1/

非常感谢任何帮助, 谢谢!

2 个答案:

答案 0 :(得分:4)

使用.fadeOut("slow")代替.hide("slow")问题与hide()上的默认缓动有关。我总是发现很难找到用于缓动选项的可用字符串 - 因此使用fadeIn()fadeOut()更简单。

$(document).ready(function () {
    $("button").click(function () {
        $('#error').html("<div class='error-message'>ERROR</div>").show();
        setTimeout(function () {
            $('#error').fadeOut("slow");
        }, 1000);
    });
});

回应ItsMatt的评论

查看您的小提琴已更新:http://jsfiddle.net/dLt51xwe/2/

fadeOut()hide()未对您创建的<errormessage>元素进行处理,因此我编辑了javascript以在内部div {{1}上调用fadeOut()而不是.error-message容器元素。

见这里:

<errormessage>

答案 1 :(得分:0)

只需使用jQuery函数# Clear path to ISO echo "" > /sys/class/android_usb/android0/f_mass_storage/lun0/file # Enable CD-ROM and make read-only (ERROR HERE!) echo 1 > /sys/class/android_usb/android0/f_mass_storage/lun0/cdrom echo 1 > /sys/class/android_usb/android0/f_mass_storage/lun0/ro # Set path to ISO echo /mnt/shell/emulated/0/obraz.iso > /sys/class/android_usb/android0/f_mass_storage/lun0/file 即可解决问题:

更改

fadeOut()

$('#error').hide("slow");