使用JSON文件运行函数onclick

使用JSON文件运行函数onclick,json,function,onclick,reddit,Json,Function,Onclick,Reddit,所以当我点击一个图像时,我试图运行一个函数。它适用于普通图像,但我从reddit JSON文件中获取图像。我需要分别调整图像的大小,但我不知道如何调整。这可能很简单,但我对编码还是新手,所以任何帮助都会很好 $.getJSON("http://www.reddit.com/r/pcmasterrace/.json?jsonp=?", function (data) { $.each(data.data.children, function (i, item) { IsValidImage

所以当我点击一个图像时,我试图运行一个函数。它适用于普通图像,但我从reddit JSON文件中获取图像。我需要分别调整图像的大小,但我不知道如何调整。这可能很简单,但我对编码还是新手,所以任何帮助都会很好

$.getJSON("http://www.reddit.com/r/pcmasterrace/.json?jsonp=?", function (data) {
$.each(data.data.children, function (i, item) {
    IsValidImageUrl(item.data.url, function (url, isvalid) {
        if (isvalid) {
            $('<img/>').attr('src', item.data.url)
                .appendTo('#images')
                .width(500)
                .onclick = function() {Resize()};
            }
        });
    });
});
$.getJSON(“http://www.reddit.com/r/pcmasterrace/.json?jsonp=?,函数(数据){
$.each(data.data.children,函数(i,项){
IsValidImage url(item.data.url,函数(url,isvalid){
如果(有效){
$('
功能正确吗

function Resize() {
if (document.getElementById('<img/>').style.width === "500px") {
    document.getElementById('<img/>').style.width = "1000px";
} else {
    document.getElementById('<img/>').style.width = "500px";
    }
}
function Resize(){
if(document.getElementById(“”).style.width==“500px”){
document.getElementById(“”).style.width=“1000px”;
}否则{
document.getElementById(“”).style.width=“500px”;
}
}

我认为
(“”)
可能是错误的。我用
('test')测试了它
它成功了,所以我需要它有所不同吗?它与我的测试函数一起工作,所以
。单击
成功了,所以我认为它试图更改错误的东西。

onclick
是DOM元素的属性,而不是jQuery对象。您应该使用
单击()
函数添加一个单击处理程序

.getJSON("http://www.reddit.com/r/pcmasterrace/.json?jsonp=?", function (data) {
    $.each(data.data.children, function (i, item) {
        IsValidImageUrl(item.data.url, function (url, isvalid) {
            if (isvalid) {
                $('<img/>').attr('src', item.data.url)
                    .appendTo('#images')
                    .width(500)
                    .click(function() {Resize(this)});
            }
        });
    });
});

您试过调试它吗?在chrome或firefox的开发控制台上,您可以使用它。打开开发人员控制台,将调试器行放在您想要查看其变量的函数中。如下所示:
function(i,item){debugger;IsValidImageUrl(…
中的“this”是什么?.click?Resize函数只是我给函数的名称,您可以这样做吗?
中的
this
。click
是被单击的元素。我假设这一点的关键是,当用户单击其中一个图像时,它会调整该图像的大小。是的,这就是重点。有趣吗Action right?
函数Resize(){if(document.getElementById('').style.width==“500px”){document.getElementById('').style.width=“1000px”;}否则{document.getElementById('').style.width=“500px”;}
我认为
('')可能是错误的。我用
('test'测试了它
它成功了,所以我需要它与众不同吗?它与我的测试功能一起工作,所以
。单击
成功了,所以我认为它试图改变错误的东西。
function Resize(image) {
    if (image.style.width == "500px") {
        image.style.width = "1000px";
    } else {
        image.style.width = "500px";
    }
}