将一系列If语句组合成一个代码
Combine Series of If Statements into one Code
现在我有一系列if语句,每个语句都测试窗口是否滚动过某个点,如果是,则改变背景。由于每个if语句都非常相似,我想知道是否可以将所有if语句合并为一个。由于我有一百多张图片,使用我目前使用的这种方法,我必须为每张图片创建一个if语句。
下面是我的代码示例。您会注意到的唯一变化是scrolltop()/2> _和MAH00046%2028.jpg.
if ($(this).scrollTop()/2 > 2800) {
$('body').css({
backgroundImage: 'url( "images/chapter_background_images/MAH00046%20028.jpg")'
});
}
if ($(this).scrollTop()/2 > 2900) {
$('body').css({
backgroundImage: 'url( "images/chapter_background_images/MAH00046%20029.jpg")'
});
}
效果最好:
var imageBase = 'images/chapter_background_images/MAH00046%200';
var scrollTopHalf = $(this).scrollTop() / 2;
if(scrollTopHalf < 2900 || scrollTopHalf > 3900)
{
var image = imageBase + (Math.floor(scrollTopHalf / 100)).toString() + '.jpg';
$('body').css({
backgroundImage: 'url("' + image + '")'
});
}
不使用if语句,而是使用计算结果来创建指向图片的链接,因为图片的名称是连续的数字。
var inc = 100;
var imgUrl = 'images/chapter_background_images/MAH00046%';
var url = imgUrl.concat((Math.floor(scrollTop()/2)/inc)*inc).toString());
我在这里使用100,但是你可以为你的图片之间的每个增量值改变这个值。
javascript底层方法
javascript连接方法
Javascript tostring方法
使用for循环并假设增量为100,基数为2800(并将每个jpg文件名的数字成功地增加1
)function myFunction() {
var counter = //number of if statements
for (i = 28; i <= i + counter; i++) {
if ($(this).scrollTop()/2 > 100*i) {
$('body').css({backgroundImage: 'url("images/chapter_background_images/MAH00046%200"' + i + '".jpg")'});
}
}
相关文章:
- AngularJS代码在一个代码笔中工作,但在移动时会中断
- 如何使用一个代码库在线和离线访问 HTML5/JS 应用程序中的数据库
- 如何在一个代码中检查无效的日期格式和超过18年的有效期
- 如何确保我的值已添加并存在,然后运行另一个代码jquery
- 我想制作一个代码;a“;变成“;b”"b”;变成“;c”;,等等
- 编写一个代码来拆分字符串“test”,并将Name的值分配给文本框,将ok的值分配到复选框
- 我想构建一个代码,在谷歌应用程序脚本中检查我在Gmail中导入的邮件,我该如何找到这个功能
- 如何为新表制作下一个代码滑块
- 我为我的 Gif 制作了一个代码,让一只鸟飞过屏幕,但即使它在同一文件夹中,图像也不可见
- 请求后是否可以在下一个代码行中获取 Ajax 响应
- Meteor.js部署用于网络和移动原生应用程序,一个代码库
- 获取iframe内容's的高度,而iframe正在托管一个代码为CAN'T被访问
- 损坏的格式工具无法修复它.导致上一个代码块中断
- 有没有一种发送电子邮件的方法使用“;mailto”;使用一个代码来检查用户是否有gmail或outlook(或其他)帐户
- 如何在firefox插件中只运行一个代码实例
- 就像Javascript的初学者一样,我试图创建一个代码来允许对象在y轴和x轴上上下移动
- 在网站上有一个代码,与alert一起工作,但在满足if条件时不链接到另一个网站
- 我有一个代码在index.js文件在android项目使用eclipse adt,
- 将一个代码放入另一个代码中
- 我已经在javascript中编写了一个代码来排序逗号分隔的值(数字),并且对于特定的值集,我的升序排序是不工作的