Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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 如果页面URL包含某些特定文本,如何更改SASS变量属性值?_Javascript_Jquery_Html_Css_Sass - Fatal编程技术网

Javascript 如果页面URL包含某些特定文本,如何更改SASS变量属性值?

Javascript 如果页面URL包含某些特定文本,如何更改SASS变量属性值?,javascript,jquery,html,css,sass,Javascript,Jquery,Html,Css,Sass,我想为两个不同的网站使用相同的SASS文件,这两个网站除了颜色外功能相同。所以我想根据URL改变颜色。现在我的问题是,我无法从SASS文件获取页面URL,并且不知道如何在css中使用.contain()。或者这可以从JS或JQuery更新SASS变量吗? i、 e. URL1= URL2= 现在我想chk如果页面url包含“.nz”,那么按钮颜色是绿色的,否则按钮颜色是灰色的 我知道下面的语法是错误的。因此,请帮助正确的语法和要求 您可以通过javascript将location.href的值打

我想为两个不同的网站使用相同的SASS文件,这两个网站除了颜色外功能相同。所以我想根据URL改变颜色。现在我的问题是,我无法从SASS文件获取页面URL,并且不知道如何在css中使用.contain()。
或者这可以从JS或JQuery更新SASS变量吗?

i、 e.
URL1=
URL2=

现在我想chk如果页面url包含“.nz”,那么按钮颜色是绿色的,否则按钮颜色是灰色的

我知道下面的语法是错误的。因此,请帮助正确的语法和要求


您可以通过javascript将
location.href
的值打印到body元素的
数据url
属性中,例如

<script>
  document.body.dataset.url = location.href;
</script>


你可以根据你的URL添加一个
body
类吗?所以应该是这样的

$(function() {
    if ( document.location.href.indexOf('.nz') > -1 ) {
        $('body').addClass('nz');
    }
});
然后在sass文件中,您可以将不同的颜色分配给
body.nz
的子项,如下所示:

$bg-color: gray;

.button{
    background: $bg-color;
}

body.nz {
    $bg-color: green;

    button {
        background : $bg-color;
    }
}

如果您的浏览器支持CSS自定义属性/变量,请考虑使用它:


你不能简单地给每个网站添加一个类,比如一个主题名吗?例如:杰克,不,这是不可能的。因为从技术上讲,只有一个网站有两个不同的url。问题是澳大利亚ppl希望看到同样的按钮是灰色的,而其他人则希望看到绿色的。网站已经开发,所以更新HTML类将非常复杂。这是一个好主意,但网站已经开发,这样做将打破这种风格。@Avinashnayak,在您达到这一点之前,这应该已经研究并集成到您的网站中,但您知道客户可以随时询问任何问题。:)当然,我明白你的意思@Avinashnayak,尽管我不明白为什么仅仅使用jquery添加body类和
body.nz{$bg color:green!important;}
(我在上面的回答中是这么说的),但是保持CSS的其余部分不变。?你能测试一下吗?耶!!我明白你的意思。。。我要实施这个。谢谢:)到今天为止,大多数浏览器都不支持VAR(),91%的全球支持率:IE才是罪魁祸首。客户端团队始终从此浏览器开始:(
$(function() {
    if ( document.location.href.indexOf('.nz') > -1 ) {
        $('body').addClass('nz');
    }
});
$bg-color: gray;

.button{
    background: $bg-color;
}

body.nz {
    $bg-color: green;

    button {
        background : $bg-color;
    }
}