jQuery 第二次点击调用函数

发布于 2025-01-06 01:13:26 字数 468 浏览 0 评论 0原文

我有以下 HTML

<a onclick="hi('#i_15', 'second_img.jpg'); return false;" href="http://google.com">
<img id="i_15" src="first_img.jpg" />
</a>

因此,我不希望它在点击时跟随到 google.com,而是只调用 hi 函数:

function hi(id, file){
$(id).attr("src", file);
}

这应该放大图像(通过交换 first_img. jpg 到 secondary_img.jpg。) 如果我想再换回来怎么办?例如,单击交换的图像 (second_img.jpg) 并将其改回first_img.jpg;与 hi 函数的作用相反。

I have the following HTML

<a onclick="hi('#i_15', 'second_img.jpg'); return false;" href="http://google.com">
<img id="i_15" src="first_img.jpg" />
</a>

So, I don't want it to follow to google.com when it's clicked, but instead just call the hi function:

function hi(id, file){
$(id).attr("src", file);
}

This is supposed to enlarge the image (by swapping first_img.jpg to second_img.jpg.)
What can I do if I want to swap it back again? As in, click on the swapped image (second_img.jpg) and have it changed back to first_img.jpg; a reversal of what the hi function does.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

找个人就嫁了吧 2025-01-13 01:13:26

至于点击后不导航到google.com,只需将href更改为:href="#"即可。

对于图像交换,为什么不让您的 hi 函数作为切换来双向工作?你可以这样做:

<a onclick="swapImage('#i_15', 'first_img.jpg', 'second_img.jpg');" href="#" >
    <img id="i_15" src="first_img.jpg" />
</a>

function swapImage(id, firstImage, secondImage) {
    var imageToLoad = $(id).attr("src") == firstImage ? secondImage : firstImage;

    $(id).attr("src", imageToLoad);
}

As for not navigating to google.com when clicked, you can just change the href to be: href="#".

For the image swap, why not make your hi function work both ways, as a toggle? You could do this:

<a onclick="swapImage('#i_15', 'first_img.jpg', 'second_img.jpg');" href="#" >
    <img id="i_15" src="first_img.jpg" />
</a>

function swapImage(id, firstImage, secondImage) {
    var imageToLoad = $(id).attr("src") == firstImage ? secondImage : firstImage;

    $(id).attr("src", imageToLoad);
}
怎樣才叫好 2025-01-13 01:13:26

您的 hi() 函数中类似的东西应该可以工作。

function hi(id, file){
    var $id = $(id);
    if($id.attr("src") == file)
    {
        $id.attr("src", $.data($id, "orig"));
    }
    else
    {
        $.data($id, "orig", $id.attr("src"));
        $id.attr("src", file);
    }
}

Something like this in your hi() function should work.

function hi(id, file){
    var $id = $(id);
    if($id.attr("src") == file)
    {
        $id.attr("src", $.data($id, "orig"));
    }
    else
    {
        $.data($id, "orig", $id.attr("src"));
        $id.attr("src", file);
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文