Javascript/JQUERY局部变量
我有两段代码 Javascript:Javascript/JQUERY局部变量,javascript,jquery,Javascript,Jquery,我有两段代码 Javascript: function changeImage(event){ event = event || window.event; var targetElement = event.target || event.srcElement; if (targetElement.tagName == "IMG") { npath = document.getElementById("main_img").src = targetEle
function changeImage(event){
event = event || window.event;
var targetElement = event.target || event.srcElement;
if (targetElement.tagName == "IMG") {
npath = document.getElementById("main_img").src = targetElement.getAttribute("src");
}
}
和JQUERY
var bpath = npath.replace("_n", "_b");
$(document).ready(function(){
$('div.prod_seeds_mimg_div').zoom({url: bpath});
});
我想从Javascript块访问npath
变量,更改它并在JQUERY中使用。但是npath
变量不是在Javascript之外定义的。我试图通过跳过var
并在两个块(var-npath=“”;
)的顶部声明npath
来实现全局性,但这些方法都没有帮助
是否有某种方法可以从JS访问npath
,并进一步使用它?
谢谢。已编辑 请尝试使用以下代码:
$(document).ready(function(){
$('.prod_seeds_mimg_div').zoom({url: $('#main_img').attr('src')});
$('div.prod_seeds_oimg_div img').on('click', function(){
changeImage($(this).attr('src'));
});
});
function changeImage(imagePath){
$('#main_img').attr('src', imagePath);
$('.prod_seeds_mimg_div').zoom({url: imagePath});
}
请记住从HTML源代码中删除
changeImage
onClick触发器。您可以分享一个示例,您可以使用类似的内容,它们是否都在同一个文件中?按照您在此处声明的显示方式,它们位于窗口
对象上,您应该很好。假设在需要npath的代码之前执行changeImage
,您所做的工作应该可以正常工作。(但从外观上看,它可能不是。)这是html的exsmple,但它完全可以工作,因为我在那里也使用PHP。是的,在同一个文件中的两个代码块更好的解决方案就是对您在那里尝试做的所有事情都使用jQuery。使用jQuery可以很容易地完成这一切。我不建议这样做,因为它会污染全局名称空间,但它可以工作。