1

我正在尝试实现一个简单的 javascript/jquery-1.6.2 幻灯片(我不习惯 javascript),我遇到的问题是所有项目都显示了,我不知道如何隐藏它们。

这是我的 PHP/HTML 代码:

  <?php
  $c = 0;
  // show parts of latest news:
  foreach ($items AS $data) {

    // news image
    $image = './images/'.$data['image'];
    // description
    $part_description = substr(nl2br($data['content']), 0, 120);
    ?>

    <div id="cap_<?php echo $c; ?>" class="cap" >
      <h3><a href="<?php echo WEBSITE.'/news/view?id='.$data['id']; ?>" >
        <?php echo $data['title']; ?></a></h3>

      <table>
        <tr>
          <td>
            <a href="<?php echo WEBSITE.'/news/view?id='.$data['id']; ?>" >
              <img alt="Item image" width="200"
                   src="<?php echo $image; ?>" />
            </a>
          </td>
          <td>
            <strong>By</strong>
            <?php echo $data['author']; ?>
            <br/>
          </td>
        <tr/>
      </table>

      <p>
        <?php echo stripslashes($part_description); ?>
        <a href="<?php echo WEBSITE.'/news/view?id='.$data['id']; ?>" >
          read more
        </a>
      </p>
    </div>
    <?php
    $c++;
  }
  // show links:
  ?>

  <div class="links">
  <?php
  for ($i=0; $i<$k; $i++) {
    ?>
    <a href="javascript:slideShow(<?php echo $i; ?>, <?php echo $k; ?>);" class="link_number" id="link_<?php echo $i; ?>">
      <?php echo $i+1; ?>
    </a>
    <?php
  }
  ?>

还有我的js函数:

function slideShow(id, max) {
  var inputHide = null;
  for (var i=0; i<max; i++) {
    $('#cap_'+id).fadeOut(500);
    inputHide = document.getElementById('cap_'+i);
    document.getElementById('link_'+i).style.backgroundColor = '#999999';
  }
  $('#cap_'+id).fadeIn(500);
  document.getElementById('link_'+id).style.backgroundColor = 'black';
}

我有两个问题:

Q1:如何解决这个问题并只显示一个

Q2:如果我使用像jqueryui这样的即用型脚本会更好吗?

4

2 回答 2

1

关于你的第二个问题,这取决于你需要什么,以及你对 JS 的理解。如果您有一个纯 JS 脚本,并且您了解它的工作原理和原因,则可以根据您的需要对其进行更多定制。'个性化',如果你喜欢。但是,如果您对 JS 的了解有限,那么现成的脚本可能更适合您。

学习东西的一个好方法是在某个地方找到一个纯 JS 脚本(这里可能有很多),并使用那个,但是做你的研究并使用你的主动性,直到你理解它是如何工作的。然后你可以在其他项目中使用它,改变它,使用它的一部分。这就是我学习大部分javascript的方式!
我最近在幻灯片上也遇到了一些麻烦,祝你好运!:)

于 2013-08-29T21:55:17.923 回答
0

Q1:这应该工作:inputHide.style.display = 'none';

Q2:在我看来,两种方式都很好

于 2013-08-29T21:42:15.547 回答