JavaScript:点击链接应该以惊人的方式消失

标签 javascript css unobtrusive-javascript

我编写了一个 PHP/PostgreSQL/Oracle 脚本供我的工作内部使用,其中链接显示为浅蓝色“标签”,也可以通过单击它们附近的“x”来隐藏:

alt text

目前效果很好,我的同事们已经对它印象深刻了。

我从 Stackoverflow 窃取的“标签”的 CSS 外观(因为我自己的 CSS/JS 技能非常有限,而且模仿是最真诚的奉承形式):

a.hide {
        color:#3E6D8E;
        background-color: #E0EAF1;
        border-bottom: 1px solid #3E6D8E;
        border-right: 1px solid #7F9FB6;
        padding: 3px 4px 3px 4px;
        margin: 2px 2px 2px 0;
        text-decoration: none;
        font-size: 90%;
        line-height: 2.4;
        white-space: nowrap;
}

a.hide:hover {
        background-color: #e7540c;
        color: #E0EAF1;
        border-bottom: 1px solid #A33B08;
        border-right: 1px solid #A33B08;
        text-decoration: none;
}

a.tag {
        color:#3E6D8E;
        background-color: #E0EAF1;
        border-bottom: 1px solid #3E6D8E;
        border-right: 1px solid #7F9FB6;
        padding: 3px 4px 3px 4px;
        margin: 2px 2px 2px 0;
        text-decoration: none;
        font-size: 90%;
        line-height: 2.4;
        white-space: nowrap;
}

a.tag:hover {
        background-color: #3E6D8E;
        color: #E0EAF1;
        border-bottom: 1px solid #37607D;
        border-right: 1px solid #37607D;
        text-decoration: none;
}

现在我想通过几行 JavaScript 来增强我的脚本,并让“标签”以一种有趣的方式消失,当用户点击它们附近的“x”时(链接当然应该仍然有效)。也许让它们飞起来甚至爆炸?有没有人在这里有想法或可以分享一个不错的技巧?

我不想使用 jQuery,因为我还没有学会。

谢谢你,我希望你的创造力:-) 亚历克斯

最佳答案

纯 javascript 淡出效果是(目前对于非 IE 浏览器..)

var hides = document.getElementsByClassName('hide');

for (var i = 0 ; i < hides.length; i++)
{
    hides[i].onclick = function(evt){
        var el = this.parentNode;
        el.style.opacity=1;
        var el_timeout = setInterval(function(){
            el.style.opacity -= 0.05;
            console.log(el.style.opacity);
          if (el.style.opacity <= 0.05)
          {
              el.parentNode.removeChild(el);
              clearInterval(el_timeout);
          }
        },20);
    }
}

演示:http://jsfiddle.net/gaby/AkA5C/

我已将标签和按钮包装在 <span></span> 中这样您就可以轻松地将两者作为目标。

关于JavaScript:点击链接应该以惊人的方式消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4512366/

相关文章:

javascript - KendoUI 数据属性事件处理程序和 'this' 范围

javascript - 在 Highcharts 股票图表上将最后一点的值显示为标签或工具提示

css-float - 如何使 float 元素居中?

html - Internet Explorer 8 和 Firefox 14 的布局差异

html - 如何去除透明色(不透明度)

jquery - 使用 jQuery 删除验证器

javascript - 在生产中使用 babel-node 可以吗

javascript - React Redux 无法读取未定义的属性 'dispatch'

javascript - 没有静态 ID 的 jqPlot 目标

javascript - 将变量从服务器后端传递到 JavaScript 的正确方法?