这很简单我确定但我是jquery的新手并且有点卡住了。
我编写的代码完美无缺:
function engageMaps(){
$(".destinations #cancun").hover(
function () {
$(".image_map #cancunPin").addClass("active");
},
function () {
$(".image_map #cancunPin").removeClass("active");
}
);
};
然后我尝试将项目分解为变量以使其更灵活但无法使其工作。我写了这个:
function engageMaps(){
var $destination = $(".destinations #cancun");
var pin = $(".image_map #cancunPin");
$destination.hover(
function () {
$pin.addClass("active");
},
function () {
$pin.removeClass("active");
}
};
这应该与第一个代码块完全相同。非常感谢任何帮助
答案 0 :(得分:7)
);
..
.hover
$destination.hover(
function () {
$pin.addClass("active");
},
function () {
$pin.removeClass("active");
}
);
你也错过了$
。见下文。
var $pin = $(".image_map #cancunPin");
完整代码:
function engageMaps(){
var $destination = $(".destinations #cancun");
var $pin = $(".image_map #cancunPin"); //Added $ to pin var name as that is how it is referenced below
$destination.hover(
function () {
$pin.addClass("active");
},
function () {
$pin.removeClass("active");
}
); //this was missing
} //removed semicolon as it is not necessary
答案 1 :(得分:4)
v---------- You forgot this
var $pin = $(".image_map #cancunPin");
此外,);
还缺少.hover
。
所以,代码的最终版本:
function engageMaps() {
var $destination = $(".destinations #cancun");
var $pin = $(".image_map #cancunPin");
$destination.hover(
function() {
$pin.addClass("active");
}, function() {
$pin.removeClass("active");
}
);
};
答案 2 :(得分:4)
$destination.hover(
function () {
$pin.toggleClass("active");
});
完整的代码是:
function engageMaps(){
var $destination = $(".destinations #cancun");
var $pin = $(".image_map #cancunPin"); // you use pin instead of $pin
$destination.hover(
function () {
$pin.toggleClass("active");
});
};