2013-06-22 80 views
0

我认为这将是非常简单的,但很明显,经过几天的审判,并没有成功,我不得不要求人们帮助,无处不在。更改ajax内容负载上的php变量的值

权利即时通讯基本上创建一个PHP模板没有太多的指导基础4框架与响应框架。现在这个框架是相当基本的,所以添加页面转换iive不得不使用jQuery来做我认为是从另一个页面获取“内容”并将其显示在模板页面index.html

上的ajax调用我目前使用以下

<script> 
$(document).ready(function() { 
$('nav.top-bar > section.top-bar-section > ul.right > li > a').click(function() { 

    var toLoad = $(this).attr('href')+' #content'; 
     $('#content').hide(1000,loadContent); 
     $('#load').remove(); 
     $('#main_wrapper').append('<span id="load">LOADING...</span>'); 
     $('#load').fadeIn('fast'); 
       window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-0); 
     function loadContent() { 
     $('#content').load(toLoad,showNewContent); 
     } 
     function showNewContent() { 
     $('#content').show(1000,hideLoader); 
     } 
     function hideLoader() { 
     $('#load').fadeOut('fast'); 

     } 
return false; 

     }); 
    }); 
    </script> 

现在摆在我改变了使用AJAX和jQuery我在操作菜单中的“积极”级,并在第一行每一页上一个简单的变量集列为页面名称$页=“”,然后将网页名称

现在,即时通讯LOADI纳克与阿贾克斯的内容,即使我包括在新页面的内容也不会在更新这个变量要么或菜单标题

IM非常抱歉,我不写正确的东西即时通讯新的这个论坛的事情

感谢您提前帮助 :)我更喜欢有人解释我需要做什么以及如何做,而不是像学习者那样复制和粘贴代码:)

+0

嗨,你在用什么$页,以及如何?它的意图是什么?你是否想要跟踪最近加载的内容,以便在重新访问时打开相同的内容? – kms

+0

为了记录,Foundation是一个CSS样式的CSS框架,用于支持响应式设计(没有我知道的功能效果)。 – dudewad

回答

0

您可能想要加载页面并在jQuery中解析结果以获取新页面的<title>标签并设置请求页面的<title>标签。

我唯一要问的是:你为什么这样做?你只是想在你的网站AJAX页面导航,而不是传统的传播导航?

+0

我认为我设置了一个php模板,并且在理论上我对导航li项目有ifelse条件,但是现在我认为页面之间的拖动被告知使用jquery。 。唯一的缺点是当我把'<?php echo $ page;?>'放在和导航标题中,然后把页面变量放到内容中时,它不会在这些页面中更新它?解释任何帮助 –

+0

当页面被渲染时,你不能“更新”一个PHP变量。如果您想在呈现HTML页面后对其进行更改,则需要使用客户端技术,如JavaScript。 PHP脚本已被处理,您不能更改变量。 –

+0

这就是即时通讯问“我怎么”可以改变这一点,即在上面列出的功能,我试图把一个div围绕变量,然后改变内容,但没有工作 –

0

我只能给你的问题的一个部分回答是由于极度混乱,所以:

首先,这里就是为什么你的URL变化:

window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-0); 

你与该行修改它。然而,这条线有一个有趣的小怪癖:

attr('href').length-0 

在最后。为什么-0?这没有什么区别。我会清理它。

除此之外,我非常困惑与你问什么,所以让我尝试改写它,你可以告诉我我错过了什么。

你想让用户点击一个导航链接,并通过使用jQuery的AJAX调用加载该链接的内容,然后用新加载的页面替换页面上的内容,是否正确?

当你说“右上角的主页我有变量$页=然后页面名称”,你是什么意思的“主页”?你的意思是它是HTML中的一行文字吗?你没有包括在这里的脚本的一部分?你的PHP代码的一部分?

然后你说“我尝试了将标记包含在随上述内容一起更改的div中” - 什么是“标记”?

通过阅读这4或5次,我几乎无法辨别上述对你想要做什么的理解。

请使沉重编辑给你的问题,这是难以置信的难以理解。

最后,为什么你要替换浏览器的用户点击链接和加载内容的功能?这就是浏览器的用途。浏览器也很方便地在url栏中有一个加载指示器(或其某种形式),让用户知道内容仍在加载。

+0

已编辑对不起:(这是任何更好的新的论坛的东西 –

+0

这是更具描述性。这是一个问题,你是否从任何东西回到“var toLoad = $(this).attr('href')+'#内容';“? – dudewad

+0

是的一切正在工作页面消失加载栏出现,然后从一个页面加载新的内容,除了**

Content Here
**和是的,我知道基础4是一个CSS框架和是的它没有花哨的页面转换或tbh任何类型的许多转换,因此为什么我要去这个大的努力来创建它们:( –

0
function loadContent() { 
    $('#content').load(toLoad,showNewContent); 
} 

所以第一关,看看jQuery的文档的加载方法: http://api.jquery.com/load/

您的问题是,它要求三个参数,而你传递了两个。如果列出了多个参数,并且您只想传递其中一些参数,则仍然需要为要“跳过”的参数提供一个空值。尝试改变你的电话:

function loadContent() { 
    $('#content').load(toLoad, null, showNewContent); 
} 

你会注意到我传递“null”。如果还是不行,传递一个空字符串,像这样:

function loadContent() { 
    $('#content').load(toLoad, "", showNewContent); 
} 

这第二个参数是要与请求传递数据。这是你列出的第三个参数,作为你的回调,据我所知,这是你犯错的地方。