Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.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 有条件地改变家庭_Javascript_Css - Fatal编程技术网

Javascript 有条件地改变家庭

Javascript 有条件地改变家庭,javascript,css,Javascript,Css,我希望在每1秒后连续更改段落的字体系列。。这是我的非工作代码 <!DOCTYPE html> <html> <head> <script src = "jquery.js"> </script> <script> $(document).ready(function() { var idee = document.getElementById('p1'); changeFont(); });

我希望在每1秒后连续更改段落的字体系列。。这是我的非工作代码

<!DOCTYPE html>
<html>
<head>
<script src = "jquery.js"> </script>
<script>

$(document).ready(function() {

    var idee = document.getElementById('p1');   

    changeFont();
}); 

    function changeFont()
    {
        if(idee.style.fontFamily == 'times')
        {
            idee.style.fontFamily = 'courier';
        }
        else if(idee.style.fontFamily == 'courier')
        {
            idee.style.fontFamily = 'times';
        }

        setTimeout(changeFont, 1000);

    }
</script>
</head>

<body>
<p id="p1">This is some text.</p>
</body>

</html>

$(文档).ready(函数(){
var idee=document.getElementById('p1');
changeFont();
}); 
函数changeFont()
{
如果(idee.style.fontfaliam=='times')
{
idee.style.fontFamily='courier';
}
else if(idee.style.fontFamily==“courier”)
{
idee.style.fontFamily='times';
}
setTimeout(changeFont,1000);
}
这是一些文字


所以。。我做错了什么?如何有条件地更改字体?

idee
在匿名函数中声明

它在changeFont中不可见

<script>
var idee;
$(document).ready(function() {

    idee = document.getElementById('p1');   

    changeFont();
}); 

var idee;
$(文档).ready(函数(){
idee=document.getElementById('p1');
changeFont();
}); 


setTimeout('changeFont()',1000)

您已经在文档中的匿名函数中设置了var idee,但您没有将其传递给changeFont,您只是调用changeFont,希望它位于全局名称空间中

先试试这个:

<!DOCTYPE html>
<html>
<head>
<script src = "jquery.js"> </script>
<script>

$(document).ready(function() {

    var idee = document.getElementById('p1');   

    changeFont(idee);
}); 

    function changeFont(idee)
    {
        if(idee.style.fontFamily == 'times')
        {
            idee.style.fontFamily = 'courier';
        }
        else if(idee.style.fontFamily == 'courier')
        {
            idee.style.fontFamily = 'times';
        }

        setTimeout(function() {changeFont(idee)}, 1000);

    }
</script>
</head>

<body>
<p id="p1">This is some text.</p>
</body>

</html>

$(文档).ready(函数(){
var idee=document.getElementById('p1');
更改字体(idee);
}); 
函数更改字体(idee)
{
如果(idee.style.fontfaliam=='times')
{
idee.style.fontFamily='courier';
}
else if(idee.style.fontFamily==“courier”)
{
idee.style.fontFamily='times';
}
setTimeout(函数(){changeFont(idee)},1000);
}
这是一些文字

此代码工作正常

<!DOCTYPE html>
<html>
<head>
<script src="jquery.js"></script>
<script>
    function changeFont()
    {
    var idee = document.getElementById("p1").style.fontFamily; 

        if( idee == 'times')
        {
   document.getElementById("p1").style.fontFamily = 'courier';
        }
        else if(idee == 'courier')
        {
   document.getElementById("p1").style.fontFamily = 'times';
        }

var int=setTimeout(function(){changeFont();},1000);

    }
</script>
</head>

<body onload="    changeFont();">
<p id="p1" style="font-family: times;">This is some text.</p>
</body>

</html>

函数changeFont()
{
var idee=document.getElementById(“p1”).style.fontFamily;
如果(idee=='times')
{
document.getElementById(“p1”).style.fontFamily='courier';
}
else if(idee=='courier')
{
document.getElementById(“p1”).style.fontFamily='times';
}
var int=setTimeout(函数(){changeFont();},1000);
}
这是一些文本


在changeFont()中放置一个断点,查看是否每秒调用一次。更新
fontFamily
时,还要检查#p1的CSS属性字体族代码的条件检查是错误的。。。我删除了那个部分,在theere中添加了alert(),并调用了changeFont函数。。。怎么办?我修复了匿名函数调用。。但是字体仍然没有改变
警报(document.getElementById(“p1”).style.fontfamine);
显示空白javascript警报..不..我复制了整个代码,字体仍然没有更改..字体的条件检查中存在一些问题..如何正确检查元素使用的字体系列?是的!我仍然不知道我做错了什么(除了在匿名函数中声明变量)@BLOB-有一些愚蠢的错误,比如1)变量idee声明2)在开始时定义p1 fontfamily(这是关键)aaawww…我明白了..我没有定义fontFamily!thanx@ameyaI假设由于默认的fontFamily是“times”,一切都会很好..但是不,我们应该在使用它之前定义它…@BLOB-如果你使用任何元素来定义它们,你总是一个好主意。出于学习的目的…没有..问题解决了..我必须在中声明字体在javascript中使用段落样式之前