2011-07-03 30 views
1

我对这个两个问题:变量jQuery中

  1. 我试图将图像分配给一个变量IMG1然后插入变量IMG1到CSS,但它不工作。我在下面的代码中做了什么错误? (注意,如果我不使用变量,如果我将图像路径直接放入它中,代码工作正常,所以我知道变量必定存在问题)

  2. 假设我可以获取img1变量的工作,我可以以某种方式把它变成一个id或类,以便我可以用jQuery操纵它?例如,我希望能够像下面的代码中的class .contactform那样执行$(“img1”)。hide(1000)

    var img1 = url('/wp-content/themes/custom/images/blah.jpg') repeat; 
    
    $("#submit").click(function(){ 
        $(".contactform").hide(1000,function(){ 
         $(".contactforms").css({display:"block"}); 
         $("body.custom").css({background: "img1"}); 
    
        }); 
    }); 
    

回答

2

这不是有效的JavaScript语法。您需要将您的img1封装在引号中,以便将其识别为字符串。试试这个:

var img1 = "url('/wp-content/themes/custom/images/blah.jpg') repeat"; 

$("#submit").click(function(){ 
    $(".contactform").hide(1000,function(){ 
     $(".contactforms").css({display:"block"}); 
     $("body.custom").css({background: img1}); 

    }); 
    }); 
+0

谢谢。你能帮助解决第二个问题吗? – mjmitche

+0

例如,我希望能够像下面的代码中的类.contactform那样执行$(“img1”)。hide(1000)。 – mjmitche

+0

你不能像这样使用它 - 它是CSS样式的一部分,而不是DOM元素。 –

0

试着说:

​​

随着行情。你的JS引擎应该抱怨。始终检查错误控制台!

第2部分,你可以写一个小帮手:

function setImage(img) { 
    $("#submit").click(function() { 
    $(".contactform").hide(1000,function() { 
     $(".contactforms").css({display:"block"}); 
     $("body.custom").css({background: img}); 
    }); 
    }); 
} 

原来你会说setImage(img1),但以后可以使用不同的参数再次调用它。如果你只需要更改文件名,或许是这样的:

function setImageFilename(filename) { 
    setImage("url('/wp-content/themes/custom/images/" + filename + "') repeat;"); 
} 
+0

谢谢。你能帮助解决第二个问题吗? – mjmitche

+0

@mjmitche:看看我的编辑。 –

+0

我不认为我清楚自己在第二个问题上想做什么,因为你的答案似乎有点不合适。例如,我希望能够像“img1.hide(1000,function ...”)那样执行类似于代码对类“(.contactform”)执行的操作。hide(1000,function ... “我怎么能这样做? – mjmitche

1

$( “body.custom”)的CSS({背景: “IMG1”});应该是 $(“body.custom”)。css({background:img1});

“img1”是字符“img1”的文字字符串,而img1是变量标识符。

+0

谢谢。你能帮助解决第二个问题吗 – mjmitche

+0

例如,在设置变量后,我希望能够像下面的代码中的类.contactform那样执行$(“img1”)。hide(1000)。 – mjmitche

+0

由于图像是css属性而不是实际上在页面文档中,你不能用与jQuery中的元素相同的方式来操作它。尝试这种方法的一种方法可能是将图像元素插入到主体中,将其浮动以免干扰布局(实际取决于布局和css),z-index设置为-1(或任何负数)。然后你可以添加效果到图像,并做你想做的。 – shelhamer