jQuery 文本屏蔽

发布于 2024-11-03 02:42:01 字数 560 浏览 1 评论 0原文

我正在尝试创建一个小片段,除非链接悬停在文本上,否则文本将被屏蔽。类似这样的:

<span class="mask">My Information</span>
<a href="#">View Info</a>

当页面加载时,页面显示如下:

<span class="masked">••••••••••••••</span>
<a href="#">View Info</a>

本质上,项目符号将占用与其替换的文本一样多的空间。然后,当用户单击“查看信息”链接时,掩码将恢复为信息。

<span class="mask">My Information</span>
<a href="#">View Info</a>

在一页上会有多个这样的实例。

有什么想法吗?我真的不知道从哪里开始..我正在考虑制作一堆密码字段,但认为它会变得混乱..

I'm trying to create a small snipped that would allow for text to be masked unless a link was hovered over it. Something like this:

<span class="mask">My Information</span>
<a href="#">View Info</a>

When the page loads, the page is displayed as follows:

<span class="masked">••••••••••••••</span>
<a href="#">View Info</a>

Essentially the bullets would take up as much space as the text that its replacing. Then when a user clicks the "View Info" link, the mask would revert back to the information.

<span class="mask">My Information</span>
<a href="#">View Info</a>

There will be multiple instances of this on one page.

Any ideas? I don't really know where to begin.. I was thinking about making a bunch of password fields but thought it would get messy..

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

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

发布评论

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

评论(3

高跟鞋的旋律 2024-11-10 02:42:01

我确信远非完美!

jsfiddle

(function($) {

    $.fn.toggleMask = function() {

        this.each(function() {
            if ($(this).hasClass('masked')) {
                $(this).text($(this).attr('origValue'));
                $(this).removeClass('masked');
                var link = $(this).next();
                link.text(link.text().replace(/Show/,'Hide'));
            }
            else {
                $(this).attr('origValue', $(this).text());
                $(this).text(new Array($(this).text().length).join('•'));
                $(this).addClass('masked');
                var link = $(this).next();                
                link.text(link.text().replace(/Hide/,'Show'));
            }
        });

    return this;
};
})(jQuery);

$(function() {
    $('.mask').toggleMask();
    $('a').click(function() {
        $(this).prev().toggleMask();
        return false;
    });
});

far from perfect i'm sure!

jsfiddle

(function($) {

    $.fn.toggleMask = function() {

        this.each(function() {
            if ($(this).hasClass('masked')) {
                $(this).text($(this).attr('origValue'));
                $(this).removeClass('masked');
                var link = $(this).next();
                link.text(link.text().replace(/Show/,'Hide'));
            }
            else {
                $(this).attr('origValue', $(this).text());
                $(this).text(new Array($(this).text().length).join('•'));
                $(this).addClass('masked');
                var link = $(this).next();                
                link.text(link.text().replace(/Hide/,'Show'));
            }
        });

    return this;
};
})(jQuery);

$(function() {
    $('.mask').toggleMask();
    $('a').click(function() {
        $(this).prev().toggleMask();
        return false;
    });
});
动听の歌 2024-11-10 02:42:01

使用数据()。在加载时,您可以将每个 $('.mask') 的内容放入 data: 中

$('.mask').each(function(){
    var t = $(this)
        ,text = t.text();
    t.data('text', text);
    //replace text with stars
});

,然后您可以将一个函数绑定到鼠标单击,用文本替换星号。

Use data(). At load you can put the content of every $('.mask') in a data:

$('.mask').each(function(){
    var t = $(this)
        ,text = t.text();
    t.data('text', text);
    //replace text with stars
});

And then you can bind a function to the mouse click that replaces stars with text.

魂归处 2024-11-10 02:42:01

我知道这可能与问题“但这里是如何使用 jquery

  $(function(){
        $('#showPassword').change(function(){
        var passwordText = $('#password');
        if($(this).prop('checked') == true){
            passwordText.get(0).type = 'text';
        }else{
            passwordText.get(0).type = 'password';
        }
     });
 });

HTML显示和隐藏密码”无关

    userName :<input type="text" id="strUserName" name="strUserName"/>
    password:<input type="password" id="password" name="password" />
    show Password<input type="checkbox"  id="showPassword"  />

I know this might not related to the question 'but here is how to show and hide password' using jquery

  $(function(){
        $('#showPassword').change(function(){
        var passwordText = $('#password');
        if($(this).prop('checked') == true){
            passwordText.get(0).type = 'text';
        }else{
            passwordText.get(0).type = 'password';
        }
     });
 });

HTML

    userName :<input type="text" id="strUserName" name="strUserName"/>
    password:<input type="password" id="password" name="password" />
    show Password<input type="checkbox"  id="showPassword"  />
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文