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

时间:2012-04-06 04:18:42

标签: javascript css ajax jquery

我正在重新设计my personal / development website,并尝试尽可能使用户友好。

我想用AJAX加载新页面并将其滑入,这就是目前正在发生的事情。 所有当前浏览器中的所有都可以(IE除外,但我将来会对此进行处理)。

但是,在第一次(并且只有第一次)页面更改的导航菜单中有一个奇怪的间距跳转。页面更改一次后,导航间距保持不变。

  • 页面加载
    Layout differences
  • 点击链接后

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

我目前正在这样做,它是 [内容宽度] - [内容宽度]

然而,菜单从不的结构发生了变化,样式表完全是静态的。我在Firebug中检查了所有这些元素,并且页面加载没有任何变化。

我上面链接了the site, http://next.randolphwebdevelopment.com,但我会在这里复制一些相关的Javascript,以便了解正在发生的事情。


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

$.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 );

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

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

1 个答案:

答案 0 :(得分:0)

首先从没有php的服务器获取nav。我打赌你用手动编写这个html等等。

任何点击后js重新创建nav,但现在没有空文本节点。只需<a>link1</a><a>link2</a>

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