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