如何使用JavaScript将转换添加到幻灯片中?

如何使用JavaScript将转换添加到幻灯片中?,javascript,image,slideshow,transition,Javascript,Image,Slideshow,Transition,我有以下非常简单的Javasript代码,通过更改SRC来更改显示的图像。在主HTML文件中按下两个按钮时,会执行函数nextpic()和prevpic() var pics = [ "http://dp.topcovers4fb.com/wp-content/uploads/2015/12/Child-Tomboy-Display-Picture.jpg", "http://assets.rollingstone.com/assets/images/gallery/420cdd

我有以下非常简单的Javasript代码,通过更改SRC来更改显示的图像。在主HTML文件中按下两个按钮时,会执行函数nextpic()和prevpic()

var pics = [
    "http://dp.topcovers4fb.com/wp-content/uploads/2015/12/Child-Tomboy-Display-Picture.jpg",
    "http://assets.rollingstone.com/assets/images/gallery/420cddbf3f116072564ab58c05f4d5e9b31aa046.jpg",
    "http://imgfave-chat-herokuapp-com.global.ssl.fastly.net/image_cache/1292725000558109.jpeg", 
    "http://ecx.images-amazon.com/images/I/41N1wi0htgL.jpg", 
    "http://readynutrition.com/wp-content/uploads/2016/01/goat.jpg", 
    "http://images5.fanpop.com/image/photos/31600000/Random-Stuff-3-random-31692057-500-500.jpg"
]

function init(){
    interval;
}

onload = init;

var interval = setInterval(nextpic, 5000);

var max_pics = pics.length - 1;
var i = 1;

function nextpic(pic){
    var pic = document.getElementById("picswap");

    pic.src = pics[i];
    if(i < max_pics){
        i++;
    }else{
        i = 0;
    }
}

function prevpic(pic)
{
    var pic = document.getElementById("picswap");
    pic.src = pics[i];
    console.log(i)
    if(i > 0){
        i--;
    }else{
        i = max_pics;
    }

}
var pics=[
"http://dp.topcovers4fb.com/wp-content/uploads/2015/12/Child-Tomboy-Display-Picture.jpg",
"http://assets.rollingstone.com/assets/images/gallery/420cddbf3f116072564ab58c05f4d5e9b31aa046.jpg",
"http://imgfave-chat-herokuapp-com.global.ssl.fastly.net/image_cache/1292725000558109.jpeg", 
"http://ecx.images-amazon.com/images/I/41N1wi0htgL.jpg", 
"http://readynutrition.com/wp-content/uploads/2016/01/goat.jpg", 
"http://images5.fanpop.com/image/photos/31600000/Random-Stuff-3-random-31692057-500-500.jpg"
]
函数init(){
间隔
}
onload=init;
var区间=设定区间(nextpic,5000);
var max_pics=pics.length-1;
var i=1;
功能nextpic(pic){
var pic=document.getElementById(“picswap”);
pic.src=pics[i];
如果(i0){
我--;
}否则{
i=最大值;
}
}

有什么方法可以对图像进行简单的淡入淡出过渡吗?到目前为止所问问题的答案不适用于我的代码风格。我知道可能没有直接检测src变化的方法,但可能的解决方案是什么?

这个答案有两个部分:

首先,可视化滑块

要使两个项目淡入,一个在另一个之上,您必须有两个元素。一个用于下一个图像,一个用于上一个图像

把它想象成一堆三张卡片

在底部有一张写着字母a的卡片

中间有一张写着字母B的卡片

上面有一张写着字母C的卡片

  • C
  • B
  • A
现在我们要从顶部取出卡片C,并将其放在底部。所以我们把它捡起来,移到桩下,放在B和A下面

  • B
  • A
  • C
一旦你开始把它想象成一副物理卡片,它就会变得更容易操作。卡可以是隐藏卡、覆盖卡或覆盖卡

在上述情况下,C是一张覆盖卡(覆盖B)。 B是一张有担保的卡(由C担保)。 A是一张隐藏的卡(我们移动卡时根本看不到它)

在我们移动卡片之后,C变成了一张隐藏的卡片(在卡片组的底部),a变成了一张被覆盖的卡片(被B覆盖),B变成了一张被覆盖的卡片

同样,滑块的幻灯片也会相互覆盖和显示

当用户按“下一步”时,您必须将图片加载到“覆盖”幻灯片中,然后慢慢淡出“覆盖”幻灯片。当“覆盖”幻灯片淡出时,您可以将其移动到“隐藏”。然后,您可以将“有盖”幻灯片移动到“有盖”,然后将下一张幻灯片向下移动到“有盖”

您的幻灯片将如下所示:

  • 覆盖物
  • 覆盖
  • 隐藏的
事实上,您可以将这些类赋予幻灯片,并应用CSS来更改幻灯片的z索引

其次是过渡:


要更改覆盖幻灯片的不透明度,我建议您对元素应用类,并使用CSS将不透明度从1更改为0。应用新类后,将开始转换,使您能够从一个类平稳地转换到下一个类。

这可能与当前问题没有多大关系,但您还应该包括HTML标记。此外,请包括您为实现转换效果所做的任何尝试。url抛出了垃圾邮件监视。仅供参考。。。我们不喜欢摆弄他的数组。url扔了个垃圾手表?如果是数组中的图像,则它们是占位符,稍后我将为本地图像更改这些占位符。很抱歉,我们不知道。一个REP1用户进来了。有一个带有模式匹配的url,机器人会发出嘎嘎声。所以对我来说,你希望人们去那个页面。对我来说,你有一个farm“likes”的facebook链接。这个站点上运行着数百个机器人。他们每个人都有自己的数据集。想出一些有创意的东西。欢迎来到堆栈:p。。。。即使有一个3年的账户。