我正在尝试实现一个简单的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这样的现成脚本会更好吗?
答案 0 :(得分:1)
就你的第二个问题而言,这取决于你需要什么,以及你对JS的理解。如果你有一个纯JS脚本,并且你了解它的工作原理和原因,你可以根据自己的需要进行定制。如果你愿意,可以“个性化”。但是,如果您对JS的了解有限,那么随时可以使用的脚本可能更适合您。
学习东西的一个好方法是在某个地方找到一个纯粹的JS脚本(这里可能很多),然后使用那个,但是在你理解它的工作原理之前,先进行研究并运用你的主动性。然后你可以在其他项目中使用它,改变它,使用它的一些部分。这就是我学习大部分javascript的方法! 我最近也在幻灯片上遇到了一些麻烦,祝你好运! :)
答案 1 :(得分:0)
Q1:这应该有效:inputHide.style.display = 'none';
Q2:在我看来,两种方式都很好