Tôi đã tạo trình chiếu với php và javascript và trình chiếu hình ảnh tốt, nhưng tôi bị kẹt ở các chức năng quay lại và chuyển tiếp và tôi sẽ biết ơn nếu bạn có thể giúp tôi chút here.This là những gì tôi đã làm như vậy cho đến nay:Thêm các chức năng quay lại và chuyển tiếp trong trình chiếu
PHP:
$dir = 'images/slideshow';
$images = scandir($dir);
$i = 0;
echo '<div id="slideshow-wrapper">';
echo '<div id="slideshow-beta">';
foreach($images as $img){
if ($img != '.' && $img != '..') {
$i++;
echo '<img src="../images/slideshow/'.$img.'" class="img_'.$i.'">';
}
}
echo '</div>';
echo '<div id="slideshow-controller">';
echo '<div class="left-arrow-div"><span class="left-arrow" onclick="SlideShow(-1);"></span></div>';
echo '<div class="right-arrow-div"><span class="right-arrow" onclick="SlideShow(1);"></span></div>';
echo '</div>';
echo '</div>';
Javascript:
var i=1;
var begin=true;
function SlideShow(x){
if(x==-1){
i--;
}else if(x==1){
i++;
}
var total=$('#slideshow-beta img').length;
for(var j=1;j<=total;j++){
if($('.img_'+j).css('display')!='none'){
begin=false;
break;
}else{
begin=true;
}
}
if(i>total){
i=1;
$('.img_'+total).fadeOut(1000,function(){
$('.img_'+i).fadeIn(1000);
});
}else if(begin){
$('.img_'+i).show();
}else if(!begin){
$('.img_'+(i-1)).fadeOut(1000,function(){
$('.img_'+i).fadeIn(1000);
});
}
setTimeout(function(){
i++;
SlideShow(x);
},5000);
}
HTML:
<body onload="SlideShow(false);">
Như bạn có thể thấy tôi đã cố gắng tạo sự kiện onclick để thay đổi giá trị 'i' khi chạy, mặc dù giá trị được thay đổi, hình ảnh thì không. Có lẽ bởi vì nhấn lùi/chuyển tiếp cuộc gọi một ví dụ khác của chức năng thay vì ghi đè nó. Tôi không biết chắc chắn, tôi bị mất trên này.
Dưới đây là một fiddle
nếu bạn chia sẻ mã của bạn trong jsfiddle mà không php, vấn đề sẽ sửa chữa một cách nhanh chóng –
TIP: thay thế mã mà 'nếu (bắt đầu == true) 'to' if (bắt đầu) ' –
cũng,' if (i == total + 1) {'to' if (i> total) {' –