TOGOUTECH

javascript - 为什么在警报之前不显示元素?

coder 2024-05-16 原文

在这个简单的例子中 https://jsfiddle.net/4rsje4b6/1/为什么 #test 元素在警报出现之前没有显示?

jQuery css() 方法不应该是同步的吗?

#test {
  display: none;
}
<span id="test">Element</span>
$("#test").css("display", "inline");
alert("Showed element!");

更新:

我在 Chrome 版本 52.0.2743.116 m、Windows 10 上表现出这种行为。

最佳答案

它同步改变样式,你会注意到如果你 read back the value on the next line and show it .

$("#test").css("display", "inline");
alert("Showed element!" + $("#test").css("display"));

但是样式对象的更改会触发向页面渲染器发送重绘请求消息,并且会在浏览器空闲时立即处理该消息,这是在该脚本例程结束之后。

不过,这取决于浏览器。在 Edge 中,它工作正常,元素会立即显示,但在 Chrome 和 Vivaldi 中则不然。

查看浏览器如何处理的另一个测试: 如果您调整浏览器窗口的大小,JSFiddle 将缩放(每个区域保持相同的相对大小)。如果您在警报打开的情况下调整 Vivaldi 浏览器的大小,它不会这样做。事实上,如果你把它变小,然后显示警报,然后把它变大,你只会在新空间中得到一个灰色区域,直到你关闭消息框。在 Edge 中, fiddle 只会在后台调整大小,即使整个浏览器窗口都是灰色的,所以这不仅仅是处理时间的问题,更多的是 Chrome 在打开警报时完全卡住页面。

关于javascript - 为什么在警报之前不显示元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38960101/

有关javascript - 为什么在警报之前不显示元素?的更多相关文章

  1. c# - 单元素元组和零元素元组有什么用? - 2

    C#7.0引入了值元组以及对它们的一些语言级别支持。他们addedthesupport单个和零元素元组也是如此;但是,我无法找到它们有用的任何场景。通过ValueTuple.Create重载,我可以创建任何类型的元组,但C#7.0语法只允许至少两个元素:Microsoft(R)RoslynC#Compilerversion2.8.3.62923Loadingcontextfrom'CSharpInteractive.rsp'.Type"#help"formoreinformation.>ValueTuple.Create()[()]>Valu

  2. c# - 一次性元素是否应该传入? - 2

    在一次代码审查中,一位同事更改了我的代码以将Stream作为参数传递。他说这是为了确保调用者清楚处置对象的责任。从某种意义上说,我可以同情。我希望对象创建者也负责清理。另一方面,这两种方法都使using的必要性变得更加清晰。我也更喜欢更简单的方法调用。拿publicstaticTextReaderSerialize<T>(Tobj)whereT:new(){if(obj==null)thrownewArgumentNullException("obj");returnSerialize<T>(obj,null);}对比publicstaticvo

  3. c# - 是否有一种简单/内置的方法来获取 XAML 元素的精确副本(克隆)? - 2

    我需要使XAML区域可打印,因此制作了这个按钮处理程序:privatevoidButton_Click_Print(objectsender,RoutedEventArgse){Customer.PrintReport(PrintableArea);}在PrintReport中,我将frameworkelement打包到其他元素中,以便以与屏幕上略微不同的方式打印它,如下所示:publicvoidPrintReport(FrameworkElementfwe){StackPanelsp=newStackPanel();sp.Children.Add(fwe);TextBlocktb=n

  4. c# - Linq to SQL 计数分组元素生成超时 - 2

    我有一个看起来像这样的表:FruitID|FruitType23|2215|2256|1643|3我想通过FruitType获得一个名为TheFruitIDs的FruitIDs列表。这是我的:varTheCounter=(fromfinMyDC.FruitswhereTheFruitIDs.Contains(f.FruitID)groupfby0intoTheFruitsselectnewMyCounterMode(){CountType1=(int?)TheFruits.Where(f=>f.FruitType==1).Count()??0,CountType2=(int?)T

  5. c# - ObservableCollection 逐元素变换/投影包装器 - 2

    在WPF中创建ViewModel时,有时需要转换ObservableCollection中可用的数据(源集合)转换为扩展/限制/转换原始元素(目标集合)的包装元素集合,而元素的数量和顺序始终反射(reflect)原始集合。就像Select扩展方法,但它会不断更新,因此可用于WPF绑定(bind)。如果一个元素被添加到索引x处的源中,则相同元素的Wrapper被添加到目标集合中的相同索引x处。如果索引y的元素在源集合中被删除,则索引y的元素在目标集合中被删除。假设有一个ObservableCollection<ClassA>,但我需要绑定(bind)的是ReadOnlyObs

  6. c# - 修改序列化 ASP.NET WebAPI 对象中的 xml 数组元素名称 - 2

    在我的WebAPIController中返回对象列表时,我一直在努力输出自定义根xml元素。我的Controller方法看起来像这样:publicList<Product>Get(){returnrepository.GetProducts();}它会像这样呈现一个xml输出:<ArrayOfProduct><Product><Name>Product1</Name></Product><Product><Name>Product2</Name></Product>&

  7. c# - 如果从 C# 中的 try 或 catch block 返回,finally block 是否会被执行?如果是这样,是在返回之前还是之后? - 2

    没有可用的内容! 最佳答案 是的,执行了finallyblock,但是流程离开了tryblock-无论是到达结尾、返回还是抛出异常。来自C#4规范,第8.10节:Thestatementsofafinallyblockarealwaysexecutedwhencontrolleavesatrystatement.Thisistruewhetherthecontroltransferoccursasaresultofnormalexecution,asaresultofexecutingabreak,continue,goto,orr

  8. c# - 如何删除数组中的选定元素? - 2

    我有这个任务,我必须从数组中删除一个选定的元素,所以我想出了这个代码:strInput=Console.ReadLine();for(inti=0;i<intAmount;i++){if(strItems[i]==strInput){strItems[i]=null;for(intx=0;x<intAmount-i;x++){i=i+1;strItems[i-1]=strItems[i];}intAmount=intAmount-1;}}问题是,假设我有一个数组[1,2,3,4,5,],我想删除1。输出将为[2,3,4,5,5]。当我选择2时也会发生这种情况,但当我选择任何

  9. c# - 使用 LINQ 检查 List<string> 是否包含另一个 List<string> 中的元素 - 2

    如何使用C#中的LINQ检查一个列表是否包含另一个列表中存在的元素?我不想使用for/while循环。所以,如果List1有A、B、C而List2有B、1、2,那么我会返回true。 最佳答案 试试这个:List<string>a=...List<string>b=...varinComon=a.Intersect(b).Any(); 关于c#-使用LINQ检查List<string>是否包含另一个List<string>中的元素,我们在S

  10. c# - 在 C# 中获取列表中的公共(public)元素 - 2

    我有两个排序列表如下:varlist1=newList<int>(){1,1,1,2,3};varlist2=newList<int>(){1,1,2,2,4};我希望输出为:{1,1,2}如何在C#中执行此操作?有没有办法使用Linq? 最佳答案 使用Intersect:varcommonElements=list1.Intersect(list2).ToList(); 关于c#-在C#中获取列表中的公共(public)元素,我们在StackOverflow上找

随机推荐

  1. c# - 无法为泛型类型创建 TypeConverter - 2

    我想创建一个TypeConverter对于通用类,像这样:[TypeConverter(typeof(WrapperConverter<T>))]publicclassWrapper<T>{publicTValue{//get&set}//othermethods}publicclassWrapperConverter<T>:TypeConverter<T>{//onlysupportToandFromstringspublicoverrideboolCanConvertFrom(ITypeDescriptorContextcon

  2. c# - 无法加载文件或程序集临时 ASP.NET 文件 - 2

    我正在使用C#(.NETFramework4)在ASP.NET上开发一个网站。创建新网站项目后,我尝试运行该项目。但我收到以下错误:Couldnotloadfileorassembly'file:///C:\Windows\Microsoft.NET\Framework\v4.0.30319\TemporaryASP.NETFiles\myfirst\159977c5\b9e740fc\App_global.asax.yfqtni9g.dll'oroneofitsdependencies.Thesystemcannotfindthefilespecified.我已经浏览

  3. c# - 如何将 xmldocument 保存到流中 - 2

    我已经编写了代码来使用XmlReader解析我的xml文件,所以我不想重写它。我现在已经为程序添加了加密。我有encrypt()和decrypt()函数,它们采用xml文档和加密算法。我有一个使用xml阅读器解析文件的函数,但现在有了xml文档,我不确定如何创建xmlreader。问题是如何将我的xml文档保存到流中。我敢肯定这很简单,但我对流一无所知。XmlDocumentdoc=newXmlDocument();doc.PreserveWhitespace=true;doc.Load(filep);Decrypt(doc,key);StreamtempStream=null;doc

  4. c# 在运行时创建一个未知的泛型类型 - 2

    所以我有一个泛型类,它可能需要在它自己的一个方法中创建一个具有不同类型泛型的实例,其类型是通过反射获得的。这很重要,因为此存储库映射T到数据库表[这是我正在写的一个ORMish],如果代表T的类有一个代表另一个表的集合,我需要能够实例化它并将其传递到存储库[alaInception]。我正在提供方法,以防它更容易发现问题。privatePropertiesAttributesAndRelatedClassesGetPropertyAndAttributesCollection(){//ReturnsaListofPropertyAndAttributesvartype=typeof(T

  5. c# - 通过 SendMessage 或其他方式异步 GetForegroundWindow? - 2

    有没有一种方法可以在焦点从任何窗口更改到另一个窗口(甚至在Windows应用程序之间)时得到通知,这样我就可以在用户更改焦点时立即调用我的委托(delegate)?我一直在想我可能只需要做轮询:(:(每1秒并调用GetForegroundWindow但我真的不想这样做。 最佳答案 SetWinEventHook()可能是你最好的选择;您可以监听EVENT_SYSTEM_FOREGROUND以监听前景窗口的变化-或者甚至监听EVENT_OBJECT_FOCUS以监听应用程序和控件内更精细的焦点变化。您需要将其与WINEVENT_OUT

  6. c# - 在应用依赖注入(inject)时,Func<in T, out TResult> 是否适合用作 ctor arg? - 2

    例子:publicclassBusinessTransactionFactory<T>whereT:IBusinessTransaction{readonlyFunc<Type,IBusinessTransaction>_createTransaction;publicBusinessTransactionFactory(Func<Type,IBusinessTransaction>createTransaction){_createTransaction=createTransaction;}publicTCreate(){return(T)_cr

  7. c# - 将德语字符(变音符号、重音符号)替换为英语对应字符 - 2

    将德语字符(元音变音、重音符号)替换为英语字符我需要从各种文本字段中删除所有德语特定字符,以便处理到另一个系统中,该系统不会接受它们为有效。所以我知道的字符是:ß一种Øü一种厄ü目前我有一些手动替换它们的方法:myGermanString.Replace("ä","a").Replace("ö","o").Replace("ü","u").....但我希望有一种更简单/更有效的方法来做到这一点。由于每次运行我将在数千个字符串上执行此操作,其中99%将不包含这些字符。也许涉及某种Culture

  8. c# - 改进的 IValueConverter——MarkupExtension 还是 DependencyObject? - 2

    我在网上看到了两种不同的增强IValueConverter的方法。其中一个从MarkupExtension扩展了ValueConverter,另一个从DependencyObject扩展。我无法从两者中扩展,所以我想知道是否有一个比另一个更好? 最佳答案 从每一个派生给你不同种类的力量和灵active:源自MarkupExtension使您能够使用值转换器而不使其成为静态资源,如下所述:publicclassDoubleMe:MarkupExtension,IValueConverter{publicoverrideobjectPr

  9. c# - 在 ASP.NET 中将二进制数据转换为图像控件 - 2

    我的数据库中有图像的二进制数据,我想在ASP.NET的图像控件中显示它。如何?如果不行,请想办法保存到数据库中,在图像控件中显示。 最佳答案 像这样创建一个常规的HTMLimg元素:<imgrunat="server"id="image"/>并且在codebehind这样做:image.src="data:image/png;base64,"+Convert.ToBase64String(imageBytes);其中imageBytes是一个byte[]。你完成了。将显示图

  10. c# - 从 Server.UrlEncode 获取大写字符串 - 2

    我希望它的输出为大写。这是我在Server.UrlEncode("http://")上得到的:http%3a%2f%2f但我需要:http%3A%2F%2F是否有C#中的内置解决方案?编码后的url应作为签名基础字符串(输入签名算法)来创建摘要(哈希)。哈希随后将被其他系统(java、php等)验证,因此他们需要先通过签名重建来重新创建哈希。 最佳答案 这会将字符串中的所有转义字符大写。stringurl="http://whatever.com/something";stringlower=Server.UrlEn