0

同じページのすべての段落に追加 (詳細を参照) しようとしていますが、コードを複数回追加すると、1 つの段落でしか機能しません。

function showHide(shID) {
  if (document.getElementById(shID)) {
if (document.getElementById(shID+'-show').style.display != 'none') {
  document.getElementById(shID+'-show').style.display = 'none';
  document.getElementById(shID).style.display = 'block';
    }
else {
  document.getElementById(shID+'-show').style.display = 'inline';
  document.getElementById(shID).style.display = 'none';
}
  }}

HTMLコード

<p>
 <a href="#" id="example-show" class="showLink" onclick="showHide('example');">See more...</a>
</p>
<div id="example" class="more">
  <p>Extra words.....</p>
  <p><a href="#" id="example-hide" class="hideLink" onclick="showHide('example');">Hide.</a>
  </p>
</div>

CSS

.more {
 padding:0 3px 0 0;
 display: none;
 border: 1px solid #666;
}
a.showLink, a.hideLink {
text-decoration: none;
color: #36f;
padding-left: 8px;
background: transparent url('down.gif') no-repeat left;
}
a.hideLink {
background: transparent url('up.gif') no-repeat left;
}
a.showLink:hover, a.hideLink:hover {
border-bottom: 1px dotted #36f;
}

一度しか使えません。

同じページで複数回使用するにはどうすればよいですか?

4

1 に答える 1

3

IDを変更する必要があります。IDを変更せずに、同じコードを何度も貼り付けていると思います。

<p>
<a href="#" id="example-show" class="showLink" onclick="showHide('example');">See more...</a>
</p>
<div id="example" class="more">
    <p>Extra words.....</p>
    <p><a href="#" id="example-hide" class="hideLink" onclick="showHide('example');">Hide.</a>
    </p>
</div>

<p>
<a href="#" id="example-show2" class="showLink" onclick="showHide('example2');">See more...</a>
</p>
<div id="example2" class="more">
    <p>Extra words.....</p>
    <p><a href="#" id="example2-hide" class="hideLink" onclick="showHide('example2');">Hide.</a>
    </p>
</div>
于 2013-06-27T12:03:50.197 に答える