它不显示所有图像

时间:2013-02-10 00:53:33

标签: php javascript jquery html

我在这里有一个申请:application

在演示中我使用了一个基本的jquery滑块,页面在这里:page info

现在我遇到的问题是它显示问题1中的图像,但没有显示问题2.现在,在我包含滑块之前,它会在所有问题中显示图像。但由于我包含了滑块,因此它仅在第一个问题中显示图像。如何在所有问题中显示图像?

CODE:

<form action='results.php' method='post' id='exam'>

<?php

foreach ($arrQuestionId as $key=>$question) {

?>

<div class='lt-container'>
<p><?php echo htmlspecialchars($arrQuestionNo[$key]) . ": " .  htmlspecialchars($arrQuestionContent[$key]); ?></p>

<?php

                //start:procedure image
        $img_result = '';
        if(empty($arrImageFile[$key])){
          $img_result = '&nbsp;';
        }else{

?>

 <div id="banner-slide">
 <ul class="bjqs">
<?php foreach ($arrImageFile[$key] as $i) { ?>
<li><img alt="<?php echo $i; ?>" height="200" width="200" src="<?php echo 'ImageFiles/'.$i; ?>"></li>
<?php } ?>
</ul>
</div>

         <script type="text/javascript">

jQuery(document).ready(function($) {

         $('#banner-slide').bjqs({
            animtype      : 'slide',
            height        : 200,
            width         : 200,
            responsive    : true,
            randomstart   : true
          });  
          });

          </script>

<?php

        }
        //end:procedure image
?>

</div>


<?php

}

?>
</form>

2 个答案:

答案 0 :(得分:1)

页面上有两个具有相同ID的div。 #1是一个没有和坏的HTML。您需要独立地在每个div上启动滑块。

$('#banner-slide1').bjqs({ //ETC

$('#banner-slide2').bjqs({ //ETC

这足以了解你哪里出错了,为什么它不起作用。 JQuery不知道要使用哪个横幅幻灯片,或者它实际上只使用第一个,因为它知道每页只应该有一个ID。

我不知道您的滑块插件是如何工作的,但您可以将ID更改为div中的类,然后使用以下命令启动滑块:

$('.banner-slide').bjqs({ //ETC

OR

$('.banner-slide').each(function(){
    $(this).bjqs({ //ETC

这取决于插件的工作方式。

答案 1 :(得分:1)

元素ID对于单个元素应该是唯一的。您不能为两个元素提供相同的ID。请尝试将ID更改为banner-slide1banner-slide2