javascript - JQuery 显示/隐藏链接

标签 javascript jquery css animation

这就是我的困境。一直在处理这个 Jquery 极端代码,我需要帮助来判断某个链接是否显示。这是我的。

开关:

<a href="#" id="visbilitybutton" class="button" title="Visible"><span class="icon icon84"></span></a>

<a href="#" id="visbilitybutton" class="button" title="Invisible"><span class="icon icon85"></span></a>

(注意唯一不同的是图标编号)当有人单击 #visbilitybutton 时,这些需要来回切换。不确定执行此操作以及捕获所选内容的最佳方法。

我目前拥有的唯一代码使切换单向前进,但再次点击时不会返回。

 $(document).ready(function () { 
    $('#visbilitybutton').click(function() {
         $(this).replaceWith('<a href="#" id="visbilitybutton" class="button" title="Invisible"><span class="icon icon85"></span></a>');
    }); 
    });

最佳答案

首先,您的页面上不应有多个相同的 id 属性。使 visibilitybutton 成为一个类。

无论如何,您可以使用 jQuery toggle() 函数来指定在每次连续点击时执行的操作:

$(".visibilitybutton").toggle(function(){
    $(this)
        .attr("title","Invisible")
        .find("span").toggleClass("icon84 icon85");
}, function(){
    $(this)
        .attr("title","Visible")
        .find("span").toggleClass("icon84 icon85");
});

如果你想提高效率,你可以像这样用一些好的技巧一次性完成所有的 jQuery:

var vis = ["Invisible","Visible"];
$(".visibilitybutton").click(function(){
    var i = 0;
    $(this)
        .attr("title",vis[i])
        .find("span").toggleClass("icon84 icon85");
    i = (i==0)?1:0;
});

更重要的是创建一个在添加元素时隐藏元素并在删除元素时显示元素的类(在 CSS 中应用 display:none 的类名可以正常工作):

$(".visibilitybutton").click(function(){
    $(this)
        .toggleClass("hide")
        .find("span").toggleClass("icon84 icon85");
});

关于javascript - JQuery 显示/隐藏链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11617691/

相关文章:

javascript - 如何将返回 url 添加到 paypal 的 javascript/rest 快速结帐简单集成

javascript - Cytoscape 不恢复元素

javascript - jQuery 动画,缺少 : after property id

html - Css 如何在一行中设置 3 个 block block /div

html - Bootstrap 链接不起作用

javascript - 如何使用 Javascript 平滑地更改无限动画(在 CSS3 中)的执行时间

javascript - 为什么即使使用正确的语法,useParams 也会返回 undefined?

javascript - 创建 Youtube 背景时出现 JS 错误

jQuery Accordion 单击一次展开/单击时折叠

jquery - 我无法将我的 jquery 代码作为工具运行