当有人打开页面时,<div>
获得全宽(1200px +)。如果我重新加载页面,宽度将更改为右侧(550px)。浏览器清除了缓存,因此这不是缓存问题。
首次访问:
刷新后:
这是一个&#34;自定义HTML代码&#34; Joomla 2.5站点中的模块。这是交换宽度的div代码:
<div class="art-nostyle">
<div class="custom">
<div id="script_nn_tabs54bfa417561de" class="script_nn_tabs" style="display:none;"></div>
<div id="nn_tabs_container_1____685___" class="nn_tabs_container outline_handles outline_content align_left nn_tabs_container_1_">
<div class="nn_tabs_nav" style="display: block;"></div>
乍一看,我认为div id="nn_tabs_container_1____685___"
是问题,所以我在模块的末尾添加了这个jQuery脚本:
var j = jQuery.noConflict();
j(document).ready(function () {
j("div[id^='nn_tabs_content_1____']" ).css("width","550px");
});
在无法修复之后,我注意到问题发生在<div class="art-nostyle">
。那个div根本没有风格!我无法将上述脚本用于art-nostyle div
,因为它是在网站中的每个模块之前添加的。有人可以解释一下这可能不是一个缓存问题 - 在页面刷新后获得固定宽度的元素吗?我试过5台以前从未访问过url的PC。
P.S。我无法在JSFiddle中重现这个问题:这就是为什么我没有发布小提琴链接。
编辑:Link of the site如果有人想亲眼检查。它位于指数的中间位置。 编辑2:我注意到,如果我禁用cookie,div刷新后不会改变宽度。它会保持整个宽度。
答案 0 :(得分:0)
如果您正在使用jQuery,也许您可以删除可能从Joomla继承奇怪样式的“.art-nostyle”类。你可以给一个<div class="art-nostyle">
一个唯一的ID(例如id =“navigationLinks”),然后使用它:
$(function() {
$("#navigationLinks").removeClass("art-nostyle");
$("#navigationLinks").css("width","550px");
});
您还可以检查是否有任何其他Javascript引用此div,因为有问题的div会仅仅从HTML / CSS继承奇怪的行为,这似乎很奇怪。
答案 1 :(得分:0)
我有同样的问题。但是,我找到了答案。使用$(window).load()而不是$(document).ready()。