我如何调用jquery变量?

时间:2012-05-25 18:10:16

标签: javascript jquery function variables

这很简单我确定但我是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");
    }
};

这应该与第一个代码块完全相同。非常感谢任何帮助

3 个答案:

答案 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");
  });
};