Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/457.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/7/css/40.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 页面布局略有变化,没有样式变化_Javascript_Css_Ajax_Jquery - Fatal编程技术网

Javascript 页面布局略有变化,没有样式变化

Javascript 页面布局略有变化,没有样式变化,javascript,css,ajax,jquery,Javascript,Css,Ajax,Jquery,我正在重新设计,并试图使其尽可能用户友好 我想用AJAX加载新页面并将其滑入,这就是目前正在发生的事情。 一切都能在所有当前浏览器中运行(IE除外,但我以后会继续) 然而,在第一次(也是唯一的第一次)页面更改时,我的导航菜单中有一个奇怪的间距跳转。页面更改一次后,导航间距保持不变 页面加载时 单击链接后 单击链接时,新页面中的导航部分将被设置为替换当前导航,因为每个链接都有一个由服务器后端计算的数据偏移量属性,以便javascript知道单击元素时滑动元素的方向和距离 我目前的做法是[内容

我正在重新设计,并试图使其尽可能用户友好

我想用AJAX加载新页面并将其滑入,这就是目前正在发生的事情。 一切都能在所有当前浏览器中运行(IE除外,但我以后会继续)

然而,在第一次(也是唯一的第一次)页面更改时,我的导航菜单中有一个奇怪的间距跳转。页面更改一次后,导航间距保持不变

  • 页面加载时
  • 单击链接后
单击链接时,新页面中的导航部分将被设置为替换当前导航,因为每个链接都有一个由服务器后端计算的数据偏移量属性,以便javascript知道单击元素时滑动元素的方向和距离

我目前的做法是[内容宽度]或-[内容宽度]

但是,菜单的结构永远不会改变,样式表是完全静态的。我在Firebug中检查了所有这些元素,页面加载时没有任何变化

我在上面进行了链接,但我将在这里复制一些相关的Javascript,以了解发生了什么


向下拉链接将重定向到的整个页面(除非指定,否则所有未来的代码块也在此回调中):


就是这样。有很多代码可以插入新内容并将其滑入,以及更改页面标题、设置历史状态等,但这是唯一一个涉及导航菜单的代码,没有任何代码涉及任何样式表


我愿意接受任何解决问题和/或改进代码设计的建议。

第一次加载时
nav
是从没有php的服务器获得的。我打赌你是用intendation等手工编写这个html的

在任何单击之后,js都会重新创建
nav
,但现在没有空文本节点。只需
link1link2


添加空格或从源html中删除空格。

看起来您的导航宽度正在变化:先是367px,然后是355px…@RobertSmith Yep,但导航没有指定宽度,它只是延伸到内部,所以内部的大小变化才是问题所在,但我没有看到变化,实际上,
nav
总是通过PHP运行,第一次加载通过无限次加载。但是,关于删除空格的说法是正确的<代码>。替换(/>\s*
$.get( loc, function( data ){
    //delete the doctype declaration
    data = data.split("\n").slice(1).join("\n");
    next_page = $(data.replace(/(\r\n|\n|\r)/gm,"").replace(/>\s*</gm,'><'));
//insert the new navigation
$('#header-content nav').html(next_page.find('#header-content nav').html());
$('#header-content nav a').click( navigation_clickHandler );