使用jquery滑块时,单个视频本身不会出现在屏幕上

时间:2012-05-14 09:48:04

标签: php javascript jquery

我在这里有一个应用程序,我在基本的jquery滑块中使用jwplayer:APPLICATION

此处的基本jquery滑块信息:http://basic-slider.com/

现在这是我发现的,如果一个滑块包含多个视频,那么它会显示滑块,但如果一个滑块只有一个视频,它就不会显示视频或滑块。

现在奇怪的是,如果我替换图像的视频,那么如果我有一个图像,因为它不显示滑块但显示图像,这很好。但我的问题是如何为视频做同样的事情?

以下是带图片的滑块演示:APPLICATION

以下是视频和滑块的代码:

     $vidquery = "SELECT s.SessionId, q.QuestionId, v.VideoId, VideoFile
                FROM Session s
                INNER JOIN Question q ON s.SessionId = q.SessionId
                INNER JOIN Video_Question vq ON q.QuestionId = vq.QuestionId
                INNER JOIN Video v ON vq.VideoId = v.VideoId
                WHERE s.SessionId = ?";

    $vidqrystmt=$mysqli->prepare($vidquery);
    // You only need to call bind_param once
    $vidqrystmt->bind_param("i",$session);
    // get result and assign variables (prefix with db)
    $vidqrystmt->execute(); 
    $vidqrystmt->bind_result($vidSessionId,$vidQuestionId,$vidVideoId,$vidVideoFile);

        $arrVideoFile = array();

    while ($vidqrystmt->fetch()) {
    $arrVideoFile[ $vidQuestionId ][] = basename($vidVideoFile);
  }

    $vidqrystmt->close(); 


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


<?php
                //start:procedure video
        $vid_result = '';
        if(empty($arrVideoFile[$key])){
          $vid_result = '&nbsp;';
        }else{

            ?>


 <div id="banner-video_<?php echo $key; ?>">
 <ul class="bjqs">
<?php
$i = 0;
foreach ($arrVideoFile[$key] as $v) { ?>
<li><div id="myElement-<?php echo $key.'-'.$i; ?>">Loading the player...

<script type="text/javascript">


jwplayer("myElement-<?php echo $key.'-'.$i; ?>").setup({
    file: "<?php echo 'VideoFiles/'.$v; ?>",
    width: 480,
    height: 270
});

<?php $i++; ?>
</script>

</div>
</li>
<?php } ?>
</ul>
</div>

         <script type="text/javascript">

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

         $('#banner-video_<?php echo $key; ?>').bjqs({
            animtype      : 'slide',
            height        : 300,
            width         : 700,
            responsive    : true,
            randomstart   : false,
            automatic : false
          });  
          });

          </script>

<?php

        }
        //end:procedure video
?>

</div>



</form>

更新:

如果有人知道如何编码它,以便它能够检测单个视频,那么不要将它放在滑块中,那么我相信这可以解决它。

1 个答案:

答案 0 :(得分:1)

我所说的是,通过你的例子看起来你的所有滑块都会滑动图像或视频并显示下一个或上一个,但如果你只有一个项目,为什么不完全跳过这一切。

你有一个数组:$arrVideoFile

您可以使用count($arrVideoFile);获取数组中的总值。

所以

if(count($arrVideoFile) != 0 || $arrVideoFile) != 1)
{
    //do the stuff you pasted above
}

else
{
    //if(array == 0) maybe show a default image

    //if(array == 1) lets just show that
        //if image show <img> if video show <object> or in your case 
        //<div id="myElement-<?php echo $key.'-0'; ?>"></div>
}

如果有帮助,请告诉我