滚动改变背景像一个电影
jQuery .scroll to change background like a movie
我想用200张图片改变网页的背景图像,并像电影一样播放它们。我的代码是工作的,但是过渡是闪烁时,图片上的滚动变化。似乎在滚动期间,CSS更新,我得到一个闪烁。这在Chrome和Safari中非常明显,但在FF中也是如此。在FF中看起来更流畅。奇怪。需要帮忙解决问题。我使用下面的代码。请,任何帮助平滑过渡,使它更像电影将是伟大的。我是jquery新手,但有编程背景。任何和所有的建议是非常感谢!
我研究了将近三天。有些人提到,更新。htaccess文件有助于将文件的头设置为不过期,并且浏览器正在发送304。我不知道如何测试,但下面是我的代码。
var pics = []; // CREATE PICS ARRAY
//PRELOAD FUNCTION TO SET UP PICS ARRAY IN MEMORY USING IMAGE OBJECT
function preload(){
for(i = 0; i < arguments.length; i++) {
pics[i] = new Image();
pics[i].src = arguments[i];
}
};
preload(
'bgImage/1.jpg'
,'bgImage/2.jpg'
,'bgImage/3.jpg'
,'bgImage/4.jpg'
,'bgImage/5.jpg'
); // THERE ARE 200 TOTAL IMAGES THAT WE ARE LOADING...
function switchImage() {
var s = $(window).scrollTop();
var index = 0;
if(s> 10 ){index = 1 ;}
if(s> 20 ){index = 2 ;}
if(s> 30 ){index = 3 ;}
if(s> 40 ){index = 4 ;}
if(s> 50 ){index = 5 ;}
// THERE IS 200 IF STATEMENTS IN TOTAL
// THE ODER OF THE IMAGES STARTS IN THE MIDDLE AND WE HAVE TO ADJUST DEPENDING ON POSITION
// USING THE IF STATEMENTS WAS THE EASIEST SOLUTION
$("body").css('background-image', 'url(' + pics[index].src + ')');
};
$(document).ready(function () {
switchImage();
//alert("images and dom loaded");
});
$(window).scroll(function () {
switchImage();
});
如果您的图像命名为#.jpg,将预加载函数包装到适配器中,该适配器接收图像数量并迭代预加载字符串,如'bgImage/' + i + '.jpg'。
这种方式,你可以立即得到可重用的数组使用滚动与开关语句的所有200段,这是真正的痛苦在A…或者直接调用:
index = $(window).scrollTop()/10;
这一行应该取代你所有的索引,每次你滚动,你将把正确的图像作为背景。
至于在javascript/jQuery事件上更改css,我建议使用jQuery animate,它具有几毫秒的快速过渡,但仍然是一个过渡。
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- jQuery:循环一个具有不同超时值的循环
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 从javascript创建一个列表
- 节点导出返回一个空对象
- 使用clickToggle并在单击另一个元素时关闭元素
- 我可以在json对象中添加一个函数吗
- 使用javascript将动态表从一个html页面打印到另一个html页
- EaseJS拖放;放下(动画CC)电影剪辑的鼠标坐标
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 表追加而不附加最后一个元素
- 我如何找到一个句子中的所有空格并替换忽略它们
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 使用类从一个标记中双击事件
- Javascript,访问一个主要对象模块模式中的每个对象
- 创建一个带有与电影同步的标记的javascript图
- 滚动改变背景像一个电影
- 是否有可能捕获/找到一个flash电影的尺寸,因为它加载到一个网页
- 不管怎样,我可以把一个电影剪辑放在鼠标上自动播放我的电影吗