Php 通过向URL添加代码来显示特定的div
我以以下代码为例:Php 通过向URL添加代码来显示特定的div,php,jquery,url,html,show,Php,Jquery,Url,Html,Show,我以以下代码为例: <html> <head> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> <script type="text/javascript"> function showonlyone(thechosenone) { $('.newb
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
function showonlyone(thechosenone) {
$('.newboxes').each(function(index) {
if ($(this).attr("id") == thechosenone) {
$(this).show(200);
}
else {
$(this).hide(600);
}
});
}
</script>
</head>
<body>
<div style="border: 1px solid blue; background-color: #99CCFF; padding: 5px; width: 150px;">
<a id="myHeader1" href="javascript:showonlyone('newboxes1');" >show this one only</a>
</div>
<div class="newboxes" id="newboxes1" style="border: 1px solid black; background-color: #CCCCCC; display: block;padding: 5px; width: 150px;">Div #1</div>
<div style="border: 1px solid blue; background-color: #99CCFF; padding: 5px; width: 150px;">
<a id="myHeader2" href="javascript:showonlyone('newboxes2');" >show this one only</a>
</div>
<div class="newboxes" id="newboxes2" style="border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px; width: 150px;">Div #2</div>
<div style="border: 1px solid blue; background-color: #99CCFF; padding: 5px; width: 150px;">
<a id="myHeader3" href="javascript:showonlyone('newboxes3');" >show this one only</a>
</div>
<div class="newboxes" id="newboxes3" style="border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px; width: 150px;">Div #3</div>
</body>
</html>
功能仅显示一个(氯乙烯酮){
$('.newbox')。每个(函数(索引){
if($(this.attr(“id”)==氯乙烯酮){
元(此),show(200);;
}
否则{
$(此).hide(600);
}
});
}
第1分部
第2分部
第3分部
在另一个页面上,我希望有一个链接,当用户通过单击该外部链接加载页面时,该链接将显示Div#2。我想,通过对URL进行某种类型的调整,这样的事情是可能的?例如:domain.com/page.php?=showdiv2
非常感谢您的帮助,我的编码知识有限(尤其是PHP),因此如果您愿意提供帮助,请详细说明。这里有很多方法可以完成您想要完成的任务。我将解释如何使用
$\u GET
完成此操作
您可以使用$\u GET
变量来控制此操作(在URL的末尾,只需添加?varName=value
,其中varName
是变量的名称(这是任意的),而value
是要分配给它的值
然后在PHP代码中,您可以通过a)检查该变量是否存在并b)根据其值执行逻辑来访问该变量:
<?php
$divToShow = isset($_GET['div']) ? $_GET['div'] : "";
//logic here
?>
例如,如果希望显示
,可以通过编写以下代码将其插入jQuery:
<script language="javascript" type="text/javascript">
$("div#div_<?= $divToShow ?>").show();
$("div:not(#div_<?= $divToShow ?>)").hide();
</script>
$(“div#div#”).show();
$(“div:not(#div))”).hide();
或者您可以简单地强制PHP只打印div#2:
有很多方法可以实现您在这里想要做的事情。我将解释如何使用$\u GET
完成此操作
您可以使用$\u GET
变量来控制此操作(在URL的末尾,只需添加?varName=value
,其中varName
是变量的名称(这是任意的),而value
是要分配给它的值
然后在PHP代码中,您可以通过a)检查该变量是否存在并b)根据其值执行逻辑来访问该变量:
<?php
$divToShow = isset($_GET['div']) ? $_GET['div'] : "";
//logic here
?>
例如,如果希望显示
,可以通过编写以下代码将其插入jQuery:
<script language="javascript" type="text/javascript">
$("div#div_<?= $divToShow ?>").show();
$("div:not(#div_<?= $divToShow ?>)").hide();
</script>
$(“div#div#”).show();
$(“div:not(#div))”).hide();
或者您可以简单地强制PHP只打印div#2:
只有在页面加载时检查URL的哈希部分,才能使用Javascript/jQuery实现这一点:
http://mydomain.com/some/path#showcontainer1
HTML
只有在页面加载时检查URL的哈希部分,才能使用Javascript/jQuery实现这一点:
http://mydomain.com/some/path#showcontainer1
HTML
我会用PHP编写代码,类似这样:
page.php?id=idofdiv
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
function showonlyone(thechosenone) {
$('.newboxes').each(function(index) {
if ($(this).attr("id") == thechosenone) {
$(this).show(200);
}
else {
$(this).hide(600);
}
});
}
$(document).ready(function(){
$("#<?php echo $_GET['id']; ?>").show();
});
</script>
</head>
<body>
<div style="border: 1px solid blue; background-color: #99CCFF; padding: 5px; width: 150px;">
<a id="myHeader1" href="javascript:showonlyone('newboxes1');" >show this one only</a>
</div>
<div class="newboxes" id="newboxes1" style="border: 1px solid black; background-color: #CCCCCC; display: block;padding: 5px; width: 150px;">Div #1</div>
<div style="border: 1px solid blue; background-color: #99CCFF; padding: 5px; width: 150px;">
<a id="myHeader2" href="javascript:showonlyone('newboxes2');" >show this one only</a>
</div>
<div class="newboxes" id="newboxes2" style="border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px; width: 150px;">Div #2</div>
<div style="border: 1px solid blue; background-color: #99CCFF; padding: 5px; width: 150px;">
<a id="myHeader3" href="javascript:showonlyone('newboxes3');" >show this one only</a>
</div>
<div class="newboxes" id="newboxes3" style="border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px; width: 150px;">Div #3</div>
功能仅显示一个(氯乙烯酮){
$('.newbox')。每个(函数(索引){
if($(this.attr(“id”)==氯乙烯酮){
元(此),show(200);;
}
否则{
$(此).hide(600);
}
});
}
$(文档).ready(函数(){
$(“#”)显示();
});
第1分部
第2分部
第3分部
我所做的是:
$(document).ready(function(){
$("#<?php echo $_GET['id']; ?>").show();
});
$(文档).ready(函数(){
$(“#”)显示();
});
当解析PHP时(服务器端),它将发送url中给定的id($\u GET['id'])在jQuery代码中解析。文档准备就绪时,此代码将失效
如果$\u GET['id']为空或不存在,则不会发生任何事情(没有要显示的div) 我会用PHP编写代码,类似这样:
page.php?id=idofdiv
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
function showonlyone(thechosenone) {
$('.newboxes').each(function(index) {
if ($(this).attr("id") == thechosenone) {
$(this).show(200);
}
else {
$(this).hide(600);
}
});
}
$(document).ready(function(){
$("#<?php echo $_GET['id']; ?>").show();
});
</script>
</head>
<body>
<div style="border: 1px solid blue; background-color: #99CCFF; padding: 5px; width: 150px;">
<a id="myHeader1" href="javascript:showonlyone('newboxes1');" >show this one only</a>
</div>
<div class="newboxes" id="newboxes1" style="border: 1px solid black; background-color: #CCCCCC; display: block;padding: 5px; width: 150px;">Div #1</div>
<div style="border: 1px solid blue; background-color: #99CCFF; padding: 5px; width: 150px;">
<a id="myHeader2" href="javascript:showonlyone('newboxes2');" >show this one only</a>
</div>
<div class="newboxes" id="newboxes2" style="border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px; width: 150px;">Div #2</div>
<div style="border: 1px solid blue; background-color: #99CCFF; padding: 5px; width: 150px;">
<a id="myHeader3" href="javascript:showonlyone('newboxes3');" >show this one only</a>
</div>
<div class="newboxes" id="newboxes3" style="border: 1px solid black; background-color: #CCCCCC; display: none;padding: 5px; width: 150px;">Div #3</div>
功能仅显示一个(氯乙烯酮){
$('.newbox')。每个(函数(索引){
if($(this.attr(“id”)==氯乙烯酮){
元(此),show(200);;
}
否则{
$(此).hide(600);
}
});
}
$(文档).ready(函数(){
$(“#”)显示();
});
第1分部
第2分部
第3分部
我所做的是:
$(document).ready(function(){
$("#<?php echo $_GET['id']; ?>").show();
});
$(文档).ready(函数(){
$(“#”)显示();
});
当解析PHP时(服务器端),它将发送url中给定的id($\u GET['id'])在jQuery代码中解析。文档准备就绪时,此代码将失效
如果$\u GET['id']为空或不存在,则不会发生任何事情(没有要显示的div) 一如既往,有许多解决方案,但是我们在应用程序中也有类似的要求,我们希望一个页面向另一个页面发送消息,以显示给用户。例如,更新设置后,返回主页,顶部显示消息“setting Updated”。我们的解决方案是在url中发送消息,然后在每个页面加载上运行javascript,在url中查找消息。如果它在那里,它会显示给用户,如果它不在那里,什么也不会发生
在我们的公共页面加载例程(每个页面上都有javascript)中
然后FadeMessage被定义为:
function FadeMessage(message) {
jQuery('#fadeMessage').html(message).animate({ "top": "0" }, 1000).delay(2000).animate({ "top": "-80px" }, 1000);
}
“fadeMessage”div在每页上显示为:
<div id="fadeMessage">
</div>
虽然在我输入这个的时候,我想我们可以在需要的时候注入那个div。嗯……:-) 一如既往,有许多解决方案,但是我们在应用程序中也有类似的要求,我们希望一个页面向另一个页面发送消息,以显示给用户。例如,更新设置后,返回主页,顶部显示消息“setting Updated”。我们的解决方案是在url中发送消息,然后在每个页面加载上运行javascript以查找
http://server/path/file?key=value
http://server/path/file?page=div-1
http://server/path/file?page=div-2
<?php
if (isset($_REQUEST['page']) === false || in_array($_REQUEST['page'], array('div-1', 'div-2')) === false) {
$_REQUEST['page'] = 'div-1';
}
include $_REQUEST['page'] . '.php';
?>
$_REQUEST['page'] = 'div-1';
array('div-1', 'div-2')