Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.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/2/jquery/79.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
Javascript CSS后的Jquery加载_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript CSS后的Jquery加载

Javascript CSS后的Jquery加载,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有(Joomla)一个包含以下元素的网页 <section id="sp-top-bar"> <!-- html content --> </section> <section id="sp-footer"> <!-- html content --> </section> 我的jquery代码位于文档的中,在我的template.css文件之后 当我的页面加载时,#sp顶部栏最初会以蓝色闪烁一秒钟,然后成功地

我有(Joomla)一个包含以下元素的网页

<section id="sp-top-bar">
  <!-- html content -->
</section>

<section id="sp-footer">
  <!-- html content -->
</section>
我的jquery代码位于文档的
中,在我的
template.css
文件之后

当我的页面加载时,
#sp顶部栏
最初会以蓝色闪烁一秒钟,然后成功地变为
#sp页脚
绿色

我已经看过了源代码,我的
模板.css
文件在jquery代码加载之前就被加载了,大概这就是问题所在吧

我能做些什么来避免
#sp顶栏中的初始背景色闪烁


谢谢

在jQuery中,您可以如下设置背景颜色:

$("#sp-top-bar").css('background-color','#f6f6f6');
(我使用了想象中的灰色f6f6f6)


希望对您有所帮助。

在jQuery中,您可以如下设置背景颜色:

$("#sp-top-bar").css('background-color','#f6f6f6');
(我使用了想象中的灰色f6f6f6)


希望这对您有所帮助。

您可以尝试隐藏顶部栏,直到所有内容都加载完毕

CSS

#sp-top-bar {
  display: hidden
}
$("#sp-top-bar").css({
    backgroundColor: bg,
    display: 'block'
})
JS

#sp-top-bar {
  display: hidden
}
$("#sp-top-bar").css({
    backgroundColor: bg,
    display: 'block'
})

您可以尝试隐藏顶部栏,直到所有内容都加载完毕

CSS

#sp-top-bar {
  display: hidden
}
$("#sp-top-bar").css({
    backgroundColor: bg,
    display: 'block'
})
JS

#sp-top-bar {
  display: hidden
}
$("#sp-top-bar").css({
    backgroundColor: bg,
    display: 'block'
})
试试这个

$("#sp-top-bar").hide();
$(document).ready(function(){
  var brand = $('#sp-footer');
  var bg = brand.css('background-color');
  $("#sp-top-bar").css({
    backgroundColor: bg,
    display: 'block'
  })
});
试试这个

$("#sp-top-bar").hide();
$(document).ready(function(){
  var brand = $('#sp-footer');
  var bg = brand.css('background-color');
  $("#sp-top-bar").css({
    backgroundColor: bg,
    display: 'block'
  })
});

在这个页面上使用JQuery有点困难,因为JQuery必须等待DOM元素加载到页面中,然后才能更改它。因此,通常会有flash效果,因为标题将使用css中的默认样式

在css中,您可以在呈现标题之前覆盖默认样式。 但是如果必须是JQuery,下面描述的隐藏技巧可能会奏效。或者,您可以插入一个完全定位的标题,其颜色与标题完全重叠,并在页面加载后再次将其删除

但要复制一行css需要做大量的工作

编辑:

另一个角度是在页面加载后使用ajax加载css,但是没有任何样式,这可能比闪烁更糟糕


在所有脚本运行之前,您也可以显示一个完全空白的页面,但这也不是完美的,因为它会被认为是一个“慢加载”页面。

使用JQuery进行此操作有点困难,因为JQuery必须等待DOM元素加载到页面中,然后才能更改它。因此,通常会有flash效果,因为标题将使用css中的默认样式

在css中,您可以在呈现标题之前覆盖默认样式。 但是如果必须是JQuery,下面描述的隐藏技巧可能会奏效。或者,您可以插入一个完全定位的标题,其颜色与标题完全重叠,并在页面加载后再次将其删除

但要复制一行css需要做大量的工作

编辑:

另一个角度是在页面加载后使用ajax加载css,但是没有任何样式,这可能比闪烁更糟糕


您也可以在所有脚本运行之前显示一个完全空白的页面,但这也不是完美的,因为它会被认为是一个“慢加载”页面。

您介意为此使用
css
解决方案吗?或者您想使用
script
?@VilasKumkar我想使用jquery,谢谢。您介意使用
css
解决方案吗?或者你想使用
script
?@VilasKumkar我想使用jquery,谢谢。你不能右键单击->检查元素以获得css中设置的实际bg颜色值吗?是的,我可以@captain theo,但问题是模板。css文件是在其他地方动态生成的。我需要
#sp顶部栏
自动采用
模板.css
中设置的背景颜色,而无需我进行任何手动干预。希望这是有道理的。谢谢你。。。好吧,我想你让我措手不及:)我不认为我能提供一个答案。。。Joomla代码有时可能相当(不必要地)复杂…@johnny_也许可以追溯到css文件的生成位置,并为“#sp top bar”添加额外的规则…@johnny_的另一种(jQuery)方法是“获取”动态分配的当前bg颜色,并将其应用到“#sp top bar”。检查这篇文章:难道你不能右键点击->检查元素以获得css中设置的实际bg颜色值吗?是的,我可以@captain theo,但问题是template.css文件是在别处动态生成的。我需要
#sp顶部栏
自动采用
模板.css
中设置的背景颜色,而无需我进行任何手动干预。希望这是有道理的。谢谢你。。。好吧,我想你让我措手不及:)我不认为我能提供一个答案。。。Joomla代码有时可能相当(不必要地)复杂…@johnny_也许可以追溯到css文件的生成位置,并为“#sp top bar”添加额外的规则…@johnny_的另一种(jQuery)方法是“获取”动态分配的当前bg颜色,并将其应用到“#sp top bar”。查看此帖子: