キーボードとマウスの両方を使用して画像をナビゲートしたい(左右の矢印画像をクリック)。
私はこれを行うためにJqueryを使用していますが、共有imgIndexは.keydown関数と.click関数から外れているようです....keydown関数-または++imgIndexは、変更されたインデックスも使用されていませんクリック機能で?それで、それらは常に同じインデックスにあるべきではありませんか?
キーダウン機能:
<script type="text/javascript">
var imgArray = [<?php echo implode(',', getImages($site)) ?>];
$(document).ready(function() {
var img = document.getElementById("showimg");
img.src = imgArray[<?php echo $imgid ?>];
var imgIndex = <?php echo $imgid ?>;
alert(imgIndex);
$(document).keydown(function (e) {
var key = e.which;
var rightarrow = 39;
var leftarrow = 37;
var random = 82;
if (key == rightarrow)
{
imgIndex++;
if (imgIndex > imgArray.length-1)
{
imgIndex = 0;
}
img.src = imgArray[imgIndex];
}
if (key == leftarrow)
{
if (imgIndex == 0)
{
imgIndex = imgArray.length;
}
img.src = imgArray[--imgIndex];
}
});
クリック機能:左右のクリック可能な画像に接続
$("#next").click(function() {
imgIndex++;
if (imgIndex > imgArray.length-1)
{
imgIndex = 0;
}
img.src = imgArray[imgIndex];
});
$("#prev").click(function() {
if (imgIndex == 0)
{
imgIndex = imgArray.length;
}
img.src = imgArray[--imgIndex];
});
});
getImagesphp関数をある程度可視化できるようにするためです。
<?php
function getImages($siteParam) {
include 'dbconnect.php';
if ($siteParam == 'artwork') {
$table = "artwork";
}
else {
$table = "comics";
}
$catResult = $mysqli->query("SELECT id, title, path, thumb, views, catidFK FROM $table");
$img = array();
while($row = $catResult->fetch_assoc())
{
$img[] = "'" . $row['path'] . "'";
}
return $img;
}
?>
とても有難い!
スクリプトが「viewimage.php」にある場所のスナップショット