基于URL查询的后台切换
Background switch based on URL query
所以我想交换基于URL的背景图像,在这种情况下,它将基于用户的目的地。我有很多背景图片,需要根据url字符串显示正确的背景。例如,如果URL是这样的:
http://fakeUrl.net?dest=ord
存在与查询"ord"关联的背景图像。
由于我有很多站代码(即"ord"、"lax"等)和很多图像,我想创建一个函数,它根据站代码显示正确的图像。
我有简单命名的图像:"dest-a"、"dest-b"等等。这就是我目前所拥有的(假设if/else语句有效-我不会在本例中添加该代码):
var stationCodes = /abq|abr|aby|ack|aex|ags|alb|anc|apn|atl|atw|aus|avl| ......
var bgPath = 'static/4.0/img/backgrounds/';
var bgImgs = {
//SLC Region
bzn: 'dest-a',
cos: 'dest-a',
den: 'dest-a',
slc: 'dest-a',
//Desert Pacific NW Region
abq: 'dest-b'
};
var bgSwap = bgPath + bgImgs[DEST] + '.jpg';
if(DEVICE !== 'mobile'){
if( stationCodes.test(DEST)) {
$('#container-mainContent').css('background-image', 'url('+ bgSwap +')');
}
else {
$('#container-mainContent').css('background-image', 'url('+ bgPath + 'dest-p.jpg)');
}
}
我想摆脱"var bgImgs"方法,即单独添加车站代码,然后根据目的地添加适当的背景图像,因为这将变得非常多余。我如何创建一个函数,它将根据具有站点代码的URL查询正确交换背景图像?
function setBackgroundImage (stationCode) {
var path = "static/4.0/img/backgrounds/";
var image = null;
switch (stationCode) {
case "bzn":
case "cos":
case "den":
case "slc":
image = "dest-a.jpg";
break;
case "abq":
image = "dest-b.jpg";
break;
/* More cases here... */
default:
image = "dest-p.jpg";
break;
}
var backgroundString = "url(" + path + image + ")";
document.getElementById("container-mainContent").style.backgroundImage = backgroundString;
}
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- 使用php或javascript从facebook相册URL中删除多余的部分
- Angular JS IE9 Hashbang url rewriting
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- 直接下载文件,而不是从window.open(url)
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 通过js在新选项卡中有条件地打开url
- CKFinder 3为所选文件返回错误的URL
- 如何获取不属于我项目的上一页的URL
- ReactJS映射:如何仅在url变量不为空时呈现html链接
- 在URL中传递JS对象
- 将纯文本URL转换为可单击链接
- 如何在Mozilla插件中检测后台加载的URL
- 在后台用javascript运行url
- 如何从后台CSS属性中获取多个图像URL
- 基于URL查询的后台切换
- 如何在chrome扩展的后台运行url
- 先前的状态视图不会保留在带有自定义模态url的打开UI引导模态的后台
- 在后台通过JS加载和解析URL
- 正在尝试使用Replace将后台位置部分替换为Regex以解析URL