Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.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
Php 通过向URL添加代码来显示特定的div_Php_Jquery_Url_Html_Show - Fatal编程技术网

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')