声明的变量似乎不是全局的

roo*_*sup 2 javascript jquery

我先声明我的变量 - 然后让我的jquery:

var cimg = '';
jQuery(function($) {
    $(".trigger").click(function() {
  var cimg = event.target.id;
  clickedimage();
  loadPopup();
});
});
Run Code Online (Sandbox Code Playgroud)

然后是jquery之外的脚本:

function clickedimage()
  {
    var xmargin  = $(cimg).width()/2;
    var ymargin = $(cimg).height()/2;
    $("#popupimage").css('margin-left',-xmargin+'px')
    $("#popupimage").css('margin-top',-ymargin+'px')
    var Clicked = cimg.src;
    $('#popupimage').attr('src',Clicked);
  }
Run Code Online (Sandbox Code Playgroud)

它似乎不想采用.trigger点击事件提供的cimg值

我在这做错了什么?

Roc*_*mat 5

在您执行的单击事件中var cimg = ...;.该var关键字告诉它来创建一个新的局部变量,而不是使用来自外部范围之一.

删除var处理程序内部.

var cimg = '';
jQuery(function($) {
    $(".trigger").click(function(event) {
        cimg = event.target.id;
        clickedimage();
        loadPopup();
    });
});
Run Code Online (Sandbox Code Playgroud)