为什么这种淡出不起作用
Why is this fade out not working?
我只是把它添加到一个内部html文档中。所以它只希望这个特定的项目存活 10 秒。其他人就像它一样,因为它们代表不同的聊天气泡。
function placeChatBubbleOnScreen(message){
var chatBubble = "<div class= 'glass' onshow = '$(this).fadeOut(1000);'><p class= 'chat'>" + message + "<p></div>";
//<img class = 'speechBubble' src = '../images/GibberChatBubble.png'/>
document.getElementById("MenuBackground").innerHTML += chatBubble;
}
既然你在问题中标记了jQuery,我将在这里放一些jQuery。
如您的问题的评论所示,没有定义 onshow 属性,这意味着它不会自行执行任何操作。您仍然可以添加一个,但它不会与任何类型的事件侦听器相关联。你最好使用 jQuery 中的 .fadeOut(),而不是尝试将侦听器与它何时可见相关联。
这里有一个很好的jQuery方法来编写你正在尝试做的事情:
function placeChatBubbleOnScreen(message){
var thisDiv = $('<div>').addClass('glass').append(
$('<p>').addClass('chat').append(message)
).appendTo('#MenuBackground');
setTimeout(function(){thisDiv.fadeOut('slow');}, 2000);
}
如果你不太了解jQuery,这可能会令人困惑,所以我希望你知道基础知识。在这里,我动态创建一个新的 DIV(jQuery 方法 [$],当传递元素的开放标记时,将创建一个表示该元素的新 jQuery 对象),将类玻璃添加到 DIV,并附加一个段落,其中包含类聊天和传递给 placeChatBubbleOnScreen 方法的文本。创建 DIV 并附加消息的段落后,我将 DIV 附加到具有 ID 菜单背景的元素。然后我设置了一个超时,使消息将在屏幕上保留 2 秒(2000 毫秒),然后它会缓慢执行淡出。
当然,有很多不同的方法可以做到这一点,就像编码中的大多数事情一样,但这种方式是有效的,并且相当简洁。你可以在这里看到一个小提琴:https://jsfiddle.net/jy0znq0c/
相关文章:
- 添加/删除类淡入淡出不起作用
- 淡入淡出脚本不起作用
- 纯 JavaScript 淡入淡出 - 淡入不起作用
- 淡入淡出链接悬停不起作用
- 淡出加载然后淡入不起作用
- jQuery图像淡入淡出不起作用
- jQuery父对象(“tr”)淡出不起作用
- 淡入淡出和AppendTo不起作用-jQuery
- jquery 和 safari 7 - slide切换和淡入淡出切换不起作用
- function(){如果淡出,则追加}不起作用
- 淡入淡出 JavaScript 中的图像不起作用
- 为什么这种淡出不起作用
- JQuery 幻灯片向上和淡出“不起作用”
- 淡入和淡出功能不起作用
- 淡入/淡出功能不起作用
- 淡出功能在所有浏览器中都不起作用
- 为什么这种淡入淡出效果不起作用
- jquery淡出并重定向在IE中不起作用
- 淡入淡出css动画不起作用
- Ajax.BeginForm淡出不起作用