如何整理这段简短的javascript代码
How can I tidy up this short javascript code?
jsfiddle:http://jsfiddle.net/s1d368ce/
当用户向下滚动页面时,我试图获得三个单独的标题(h1、h2和h3)以淡出。我希望每个标头的淡出速度比上面的稍慢,所以我的代码有三个部分,如下所示。然而,只有最后一个比特有效(即h3淡出,但h2和h1不起作用。如果我删除h3的最后一个部分,那么h2淡出,但h1没有。如果我移除h3和h2 javascript,那么h1淡出。)
我想知道是否有人能告诉我如何重新组织代码使其工作?
请看我的代码演示;只有h3的代码有效。但是,如果我删除javascript代码中的"scroll-fade-long-2"部分,那么h2会淡出,而h1不会??
非常感谢!
jQuery(function($){
//Scroll fade
var divs = $('.scroll-fade');
$(window).on('scroll', function() {
var st = $(this).scrollTop();
divs.css({
'margin-top' : -(st/3)+"px",
'opacity' : 1 - st/135
});
});
//Scroll fade long
var divs = $('.scroll-fade-long');
$(window).on('scroll', function() {
var st = $(this).scrollTop();
divs.css({
'margin-top' : -(st/3)+"px",
'opacity' : 1 - st/255
});
});
//Scroll fade long2
var divs = $('.scroll-fade-long-2');
$(window).on('scroll', function() {
var st = $(this).scrollTop();
divs.css({
'margin-top' : -(st/3)+"px",
'opacity' : 1 - st/355
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<h1 class="scroll-fade">header 1</h1>
<h2 class="scroll-fade-long">header 2</h2>
<h3 class="scroll-fade-long-2">header 3</h3>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
我的演示编辑:更新了不透明度。快速复制粘贴。作品
您只需要调用$(window).on('scroll', function(){});
一次。
var sf = $('.scroll-fade');
var sfl = $('.scroll-fade-long');
var sfl2 = $('.scroll-fade-long-2');
$(window).on('scroll', function(){
var st = $(this).scrollTop();
sf.css({
'opacity' : 1 - st/135,
'margin-top': -(st/3)+"px"
});
sfl.css({
'opacity' : 1 - st/255,
'margin-top': -(st/3)+"px"
});
sfl2.css({
'opacity' : 1 - st/355,
'margin-top': -(st/3)+"px"
});
});
另请参阅Miro的紧凑型解决方案:http://jsfiddle.net/ocntm9tx/5/
$(window).on('scroll', function(){
var st = $(this).scrollTop();
for(i=1; i<=3; i++){
$('.scroll-fade-'+i).css({
'opacity' : 1 - st/(i*100),
'margin-top': -(st/3)+"px"
});
}
});
相关文章:
- 如何在读取XLS/XLSX本地文件时,使用IE的javascript代码启用未标记为安全的ActiveX控件
- 面向对象的Javascript代码在IE7中不起作用
- 通过命令行/批处理文件打开页面时,将javascript代码注入Google Chrome
- JavaScript代码问题:我正在将对象转换为数组
- Javascript阻止其他Javascript代码
- JavaScript代码未正确检查ajax请求
- 如何调试Javascript代码或函数
- 为什么我在这个javaScript代码中使用NaN
- 将javascript代码转换为jquery代码时出错
- 如何从Objective-C代码中调用javascript代码
- 有什么工具可以轻松读取javascript代码吗
- 这个javascript代码是如何编写的
- 如何解密此javascript代码
- SIMPLE Javascript代码,用于显示谷歌电子表格中单个字段的数据
- HTML标记,包含带引号的JavaScript代码中的引号
- 如何在Win8Metro应用程序的Javascript代码中捕获自己的C#事件
- addEventListener的Javascript代码不工作!?(单击时打开放大的img)
- JavaScript代码无法在表单上呈现部分
- 以下 JavaScript 代码与 Facebook 相关
- 使用解析为javascript源的.php,如何使用条件语句将javascript代码封装在php括号之间