Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:Document.URL.indexOf问题_Javascript_Url - Fatal编程技术网

Javascript:Document.URL.indexOf问题

Javascript:Document.URL.indexOf问题,javascript,url,Javascript,Url,大家好,我对Javascript中的document.URL.indexOf有点问题。我有一个休息室页面,如果URL中有“lounge”,我想使背景透明,并且我想在查看单个休息室时使背景不同,但URL仍然包含“lounge”,因为指向休息室的完整链接是“lounge/view/1”。当我在“view”中时,如何使其工作有我想要的背景,当我在休息室时让它透明 这是我目前拥有的代码: if (document.URL.indexOf("lounge") > -1) { body.delay

大家好,我对Javascript中的document.URL.indexOf有点问题。我有一个休息室页面,如果URL中有“lounge”,我想使背景透明,并且我想在查看单个休息室时使背景不同,但URL仍然包含“lounge”,因为指向休息室的完整链接是“lounge/view/1”。当我在“view”中时,如何使其工作有我想要的背景,当我在休息室时让它透明

这是我目前拥有的代码:

if (document.URL.indexOf("lounge") > -1)
{
  body.delay(400).css('background-color', 'transparent');
}
else
{
  body.delay(400).css('background', '#b4b7b8');
}
我尝试添加另一个“elseif”,表示indexOF是“view”,以转到我想要的那个,但它不起作用


有什么建议吗?

您可以检查
lounge
是否在URL中,而
view
是否在URL中:

if (document.URL.indexOf('lounge') > -1 && 
    document.URL.indexOf('view') == -1) {
    // your code...
}
怎么样

var color = document.URL.indexOf('lounge/view') > -1?'#b4b7b8':'transparent';
body.delay(400).css('background', color);
或每个视图的另一种颜色:

var color = 'transparent', url = document.URL;
var views = 'lounge/view';
if (url.indexOf(views) > -1) {
  var idx = parseInt(url.split(views)[1],10);
  color = ["",'#b4b7b8','#99b7b8','#eeb7b8'][idx]; // view/1, view/2, view/3
}
body.delay(400).css('background', color);

或者只是
if(document.URL.indexOf('lounge/view')>-1)
作为elseif语句?原因OP在URL中显示“lounge”而“view”不在时要求背景色。