由于我刚接触基本功能的新功能,我现在卡住了。 我有一个函数有几个vars我想在另一个函数中重用。我得到的错误是bigsrc在第二个函数中未定义。显然,我做错了什么,但我无法弄清楚它是什么。
$(".villa div a").click(function(){
var smallsrc = $(this).parent().parent().find(".blueprint a img").attr("src").replace('.jpg', '_small.jpg');
var bigsrc = $(this).find("img").attr("src");
var bigsrc = bigsrc.replace('.jpg', '_big.jpg');
var villaNaam = $(this).parent().parent().find("h2").text();
if (bigsrc.indexOf("blueprint") != -1) {
var smallsrc = $(this).parent().parent().find(".foto a img").attr("src");
}
else {
var smallsrc = $(this).parent().parent().find(".blueprint a img").attr("src");
}
var smallsrc = smallsrc.replace('.jpg', '_small.jpg');
$("#popup-img").fadeIn();
$("#popup-bg").fadeIn();
$("#popup-img #titel").append(villaNaam)
$("#popup-img #big").attr("src", bigsrc);
$("#popup-img #small").attr("src", smallsrc);
})
$("#small-link").click(function(){
if (bigsrc.indexOf("blueprint") != -1) {
var smallsrc = smallsrc.replace('blueprint', 'huis');
var bigsrc = smallsrc.replace('huis', 'blueprint');
}
else {
var smallsrc = smallsrc.replace('huis', 'blueprint');
var bigsrc = smallsrc.replace('blueprint', 'huis');
}
});
答案 0 :(得分:0)
尝试全局变量。
var myVariable=2;
function myFunc(){
console.log(myVariable)
}
myFunc();
答案 1 :(得分:0)
这是Scope
的问题您正在$(“。villa div a”)中创建变量。点击功能。
为了能够在别处使用它们,在更高级别(在该函数之外)创建变量,然后在函数内部分配它们。
var bigsrc = $(document).find("img").attr("src");
var smallsrc = $(document).find(".foto a img").attr("src");
$(".villa div a").click(function(){
var smallsrc = $(this).parent().parent().find(".blueprint a img").attr("src").replace('.jpg', '_small.jpg');
bigsrc = $(this).find("img").attr("src");
bigsrc = bigsrc.replace('.jpg', '_big.jpg');
var villaNaam = $(this).parent().parent().find("h2").text();
if (bigsrc.indexOf("blueprint") != -1) {
smallsrc = $(this).parent().parent().find(".foto a img").attr("src");
}
else {
smallsrc = $(this).parent().parent().find(".blueprint a img").attr("src");
}
smallsrc = smallsrc.replace('.jpg', '_small.jpg');
$("#popup-img").fadeIn();
$("#popup-bg").fadeIn();
$("#popup-img #titel").append(villaNaam)
$("#popup-img #big").attr("src", bigsrc);
$("#popup-img #small").attr("src", smallsrc);
})
$("#small-link").click(function(){
if (bigsrc.indexOf("blueprint") != -1) {
smallsrc = smallsrc.replace('blueprint', 'huis');
bigsrc = smallsrc.replace('huis', 'blueprint');
}
else {
smallsrc = smallsrc.replace('huis', 'blueprint');
bigsrc = smallsrc.replace('blueprint', 'huis');
}
});
答案 2 :(得分:0)
尝试
$(".villa div a").click(function(){
// ..
bigsrc = $(this).find("img").attr("src");
bigsrc = bigsrc.replace('.jpg', '_big.jpg');
$("#small-link").data("bigsrc", bigsrc);
// ..
});
$("#small-link").click(function(){
if ($(this).data("bigsrc").indexOf("blueprint") != -1) // ..
// ..
});