0

我一直在努力解决一个关于设置默认 li 的棘手问题。

我试图实现的是将 li 及其相关页面设置为默认页面。当用户点击其他链接时,它会加载其他页面。

HTML 标记:

  <div id="productIntro">
     <div id="leftNav">
        <ul>
           <li class="head">
              <a href="javascript:void(0)" onclick="show('.$row["id"].',1);"> Pictures</b></a>
           </li>
           <li class="head">
              <a href="javascript:void(0)" onclick="show('.$row["id"].',2);"> <b>Comments</b></a>
           </li>
           <li class="head">
              <a href="javascript:void(0)" onclick="show('.$row["id"].',3);"> <b>Others</b></a>
           </li>
        </ul>
     </div>
     <div class="main">
     </div>
  </div>

JS:

        function show(id, page) {
           $('.main').load("loadProDetail.php?id=" + id + "&page=" + page, true);
        }
        jQuery(document).ready(function () {
           $(document).on('click', '.head', function () {
              $(".head").removeClass("selected");
              $(this).toggleClass("selected");
           });
        });

加载ProDetail PHP

  <?php
  $id = $_GET['id'];
  $sql = "select * from product where id=$id ";
  $result = mysql_query($sql);
  $row = mysql_fetch_assoc($result);
  $page = $_GET['page'];
  if($page == 1)
  {
     $html .= '<img src="./product_images/' . $row["name"] . '.jpg" width="150" border="2">';
  }
  if($page == 2)
  {
     $html .= 'No comments so far';
  }
  if($page == 3)
  {
     $html .= 'This page is under construction';
  }
  echo $html;

CSS:

.selected{background-color:red;}

就我而言,我想将“Picutre”li 设置为默认页面,当用户点击评论时,它会加载相应的页面。而且背景颜色也应该改变。

4

1 回答 1

1

您的页面逻辑存在于您的 PHP 中,因此可以通过修改您的if语句并将它们if...else改为:

if ($page==2) {
     $html .= 'No comments so far';
} else if ($page==3) {
     $html .= 'This page is under construction';
} else {
     $html .= '<img src="./product_images/'.$row["name"].'.jpg" width="150" border="2">';
}

上面实现的逻辑是这样的:如果请求“评论”或“其他”页面,则提供它们,但如果没有,则只提供“图片”页面。

由于您还想在页面初始加载时加载“图片”内容,您可以在页面加载时show()在 Javascript 中调用该函数。jQuery(document).ready(function () { ... }只要$row["id"]设置正确,将以下行添加到现有的应该可以工作:

show($row["id"], 1);
于 2013-05-04T18:36:50.447 回答